Apabila melaksanakan pertanyaan SQL menggunakan Python dan MySQL, ralat "Tidak semua parameter digunakan dalam pernyataan SQL" boleh timbul kerana ketidakpadanan dalam penanda parameter.
Kod Python yang dimaksudkan cuba untuk memasukkan data ke dalam jadual MySQL menggunakan kaedah execute() dengan parameter bernama. Walau bagaimanapun, penanda parameter yang digunakan dalam pertanyaan SQL adalah tidak betul.
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %d, %d, %s)")
Dalam pertanyaan ini, penanda parameter untuk tahun permulaan dan pos semasa ialah %d (integer), manakala data yang akan dimasukkan untuk parameter ini ialah jenis integer (2001). Walau bagaimanapun, penanda parameter yang betul untuk integer dalam MySQL ialah %s.
Kod yang disemak menggunakan penanda parameter yang betul ialah:
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %s, %s, %s)")
Pengubahsuaian ini memastikan semua parameter yang dinyatakan dalam pertanyaan SQL digunakan dan sepadan dengan jenis data nilai yang akan dimasukkan, menyelesaikan ralat "Tidak semua parameter digunakan".
Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Python Saya Mengembalikan 'Tidak semua Parameter Digunakan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!