Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan MySQL Python Saya Menunjukkan 'Tidak semua parameter digunakan dalam pernyataan SQL'?
Apabila cuba untuk melaksanakan pernyataan SQL menggunakan mysql.connector, anda boleh menghadapi ralat "Tidak semua parameter digunakan dalam pernyataan SQL." Ralat ini menunjukkan ketidakpadanan antara bilangan parameter yang dinyatakan dalam pertanyaan SQL dan bilangan nilai yang disediakan dalam tuple data.
Untuk menyelesaikan isu ini, semak pertanyaan SQL dengan teliti dan sahkan bahawa semua parameter berfungsi dengan betul digunakan. Dalam kod yang disediakan, isu timbul kerana aksara ruang letak untuk integer (%d) adalah salah.
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %d, %d, %s)") # Incorrect use of %d for integers
Untuk membetulkan ralat ini, gunakan aksara ruang letak yang betul untuk integer (%s) sebaliknya:
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %s, %s, %s)") # Correct use of %s for all parameters
Ingat bahawa aksara pemegang tempat berbeza-beza bergantung pada penyesuai pangkalan data yang anda gunakan. Untuk mysql.connector, %s digunakan untuk kedua-dua rentetan dan integer. Dengan menggunakan aksara pemegang tempat yang sesuai, anda boleh memastikan bahawa bilangan parameter sepadan dengan nilai yang disediakan, dengan itu menghapuskan ralat "Tidak semua parameter digunakan".
Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Python Saya Menunjukkan 'Tidak semua parameter digunakan dalam pernyataan SQL'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!