MySQL - 列数与第1行的值计数不匹配 - 语法显示正确

时间:2017-09-28 18:29:26

标签: mysql pymysql mysql-error-1136

这是我第一次在这里发帖,所以请放轻松我吧!我注意到的一些事情:首先,此查询抛出以下错误:

INSERT INTO test_table (col_one, col_two, col_three, col_four, col_five) VALUES (1, 2), ('three', 'four'), ('five', 'six'), (0, 0), ('seven', 'eight');
  

#1136 - 列数与第1行的值计数不匹配

将列名更改为描述性较低且不在表中的名称后,我决定再次运行查询以查看它是否可行。它抛出了同样的错误,而不是说test_table中不存在'col_one'。我已经浏览了关于此错误的所有其他帖子,并且在大多数情况下,人们要么错过逗号,要么忘记指定要插入的列。就我而言,我看不出这两个常见错误。别人有什么想法吗?我也读过有关存储过程但我在test_table上没有任何我知道的存储过程。 (除非他们可以在我不知情的情况下添加)

我感谢任何帮助,伙计们!

1 个答案:

答案 0 :(得分:0)

在您的查询中:

INSERT INTO test_table (col_one, col_two, col_three,  col_four,   col_five) 
VALUES (1, 2)                            -- missing   -- missing  -- missing
     , ('three', 'four')
     , ('five', 'six')
     , (0, 0)
     , ('seven', 'eight');

您尝试插入5列的值,但每行只提供2个值。这就是你得到错误的原因:

  

#1136 - 列数与第1行的值计数不匹配