รันโค้ดลบฐานข้อมูล MySQL ด้วยภาษา Python แต่รันแล้วไม่ผ่านขึ้นข้อความว่า AttributeError: 'MySQLConnection' object has no attribute 'execute' แบบนี้ต้องแก้ไขอย่างไร
import mysql.connector
con = mysql.connector.connect( host="127.0.0.1", user="root", password="")
con.execute("DROP DATABASE mydatabase")
con.close()
วิธีแก้ไข
ปัญหานี้เกิดจาก ตัวแปร con คือตัวแปรเก็บสถานะการเชื่อมต่อฐานข้อมูล ไม่สามารถนำมาประมวลผล SQL ได้แนะนำให้สร้าง cursor และเรียกใช้คำสั่ง execute จากตัวแปร cursor สามารถเขียนโปรแกรมได้ดังนี้
import mysql.connector
con = mysql.connector.connect( host="127.0.0.1", user="root", password="")
cs = con.cursor()
cs.execute("DROP DATABASE mydatabase")
con.close()