Python调用sqlite3插入时报绑定参数数量不匹配错误是什么原因?
报错原因
错误的直接触发原因是SQL执行时传入的参数数量和占位符数量不匹配:
- 你定义的
kitaplar表一共有5个字段,插入语句Insert into kitaplar Values(?,?,?,?,?)预留了5个?占位符,需要传入5个对应的值 - 你在
kitap_ekle方法中执行SQL时,传入的参数元组是(kitap.yazar,kitap.yayınevi,kitap.tür,kitap.baskı,),漏了第一个字段对应的kitap.isim,只有4个参数,和要求的5个不符,所以触发了这个错误。
另外就算补全了kitap.isim参数,也要注意参数顺序要和表定义的字段顺序(isim、yazar、yayınevi、tür、baskı)保持一致,修改后的参数元组应该为:
(kitap.isim, kitap.yazar, kitap.yayınevi, kitap.tür, kitap.baskı)
内容的提问来源于stack exchange,提问作者V0LzEn0r
相关产品推荐
相关产品推荐

