mysql提示Column count doesn't match value count at row 1錯誤


我們在對數據庫進行添加信息時可能會遇到如下錯誤:
Column count doesn't match value count at row 1
該錯誤的意思是傳入表的字段數和values值的個數不一樣
我總結了一下,主要有3個易錯點:

1.要傳入表中的字段數和values后面的值的個數不相等。

eg:一個表中有如下6個字段:
在這里插入圖片描述
我們想插入一行數據,這行數據會傳入id_cardpasswd兩個字段。(nameproblemanswer可以為空)

sql = "insert into user(id_card, passwd) values({}, '{}', '{}');".format(a, b, c)

要傳入表user的是id_cardpasswd字段,但是在values后面你卻給了他a, b, c三個值。應該對應的只給兩個值。

2.values的值類型與表中定義的字段類型不相符

比如有以下代碼:

sql = "insert into user(id_card, passwd) values({}, '{}';".format(127, '111')

表中我定義的id_card是字符串類型,但是這里傳入的是整型。不相符。

另外,多說一句:這里的values值的類型與傳入的參數類型無關。
比如:values({})這是一個整型,values('{}')這是一個字符串類型
類型區別的重點在與values中的{}是否被單引號括起來,如果括起來了就是字符串,沒有就是整型。而與format()中參數類型無關。

3.注意逗號,括號,分號都要用美式的不要不注意寫成中文的了!!!!!!!

我這次就是這個錯誤找了30分鍾,還以為是代碼,字段等原因,結果不是!!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM