为什么我收到错误#1136 - 列数与第1行的值计数不匹配?

时间:2011-09-08 22:04:24

标签: mysql

我收到此错误:

#1136 - Column count doesn't match value count at row 1?

当我尝试这样做时:

INSERT INTO folding_cartons 
(part_no, description, count, size, pdf_link, min, max, current) 
VALUES ('240-63100-00’,‘YB MV Cherry’, ‘90’,‘3 x 2-11/16 x 5-5/64’,
‘http://www.logicpkg.com/data/hero/copies/240-63100-00.pdf','0','0','0')

错误是什么意思?

3 个答案:

答案 0 :(得分:6)

这是我的建议。我使用SET来插入而不是命名列和它们的值的常用方法。理解起来非常简单,你知道哪一列有什么。此外,将其更改为UPDATE非常简单,因为它是相同的结构(只需将INSERT INTO更改为UPDATE并添加WHERE子句)。

INSERT INTO `folding_cartons` SET 
 `part_no` = '240-63100-00', 
 `description` = 'YB MV Cherry', 
 `count` = 90,
 `size` = '3 x 2-11/16 x 5-5/64', 
 `pdf_link` = 'http://www.logicpkg.com/data/hero/copies/240-63100-00.pdf', 
 `min` = 0, 
 `max` = 0, 
 `current` = 0;

答案 1 :(得分:3)

字符串周围的单引号不同,但我不知道为什么。我将您的查询粘贴到gedit并使用正常的单引号(ascii 39),我能够成功插入。

INSERT INTO folding_cartons (part_no, description, count, size, pdf_link, min, max, current) VALUES ('240-63100-00','YB MV Cherry', '90','3 x 2-11/16 x 5-5/64', 'http://www.logicpkg.com/data/hero/copies/240-63100-00.pdf','0','0','0');

同样,不知道这个查询代码生成的位置是什么,或者您将它粘贴到某个编辑器中?

答案 2 :(得分:2)

我将您的查询粘贴到测试环境中,我看到了:

  

INSERT INTO folding_cartons(part_no,description,count,size,pdf_link,min,max,current)VALUES('240-63100-00?^?^?,?^?^?YB MV Cherry?^?^? ,?^?^?90?^?^?,?^?^?3 x 2-11 / 16 x 5-5 / 64?^?^?,?^?^?http://www.logicpkg。 COM /数据/英雄/拷贝/ 240-63100-00.pdf”, '0', '0', '0')

我猜你有一些看起来像引号的智能引号符号或国际字符。

只需使用简单的单引号来分隔字符串。