错误1136:列计数与第1行的值计数不匹配

时间:2011-09-26 15:18:10

标签: mysql

我收到错误:

Column count doesn't match value count at row 1.

但我检查并重新检查了我的查询,一切似乎都没问题:

UPDATE
    table
SET
    col = 'enum(''FOO'',''BAR'')'
WHERE
    col1 = ''
AND
    col2 = 'val2'
AND
    col3 = 3;

我认为该表可能有一些产生错误的触发器 - 我没有设计系统 - 但我找不到任何。

我在至少三个不同的表中发现了同样的错误。

请注意。第三行的“枚举”实际上应该是一个字符串,而不是一个枚举类型。

3 个答案:

答案 0 :(得分:23)

这可能是一些事情,但这里有两个想法:

- 需要更改/删除触发器。

- 要更新单元格的值超出列长度。 Article on this.

答案 1 :(得分:4)

显然有一些触发器更新了另一个数据库,我不知道为什么show triggers from <dbname>返回了一个空行集。

显然,在迁移他们的系统时,他们不得不要求支持人员为他们创建触发器。

答案 2 :(得分:0)

某些时间触发因素也会造成此问题。例如,当我在主表中添加一些字段并尝试更新主表时,我创建了一个触发器来记录条目,它会显示相同的错误。经过一些解决后,我明白了这一点,并在日志表中创建了相同的字段,它解决了该问题。