MySQL UPDATE语句抛出“列计数与值计数不匹配”错误

时间:2017-12-26 11:13:46

标签: mysql

注意:我知道这是一个常见的错误,但大多数情况下,问题出在INSERT声明中。我找不到一个问题此网站在UPDATE期间发生此错误。)

我在MySQL(InnoDB / v.5.7.19)中有一个名为RESULTS的表,其中有两列名为TYPESTATUS。两者都是ENUM类型,PASSFAILIGNORE是两者中支持的值。我正在尝试使用Workbench在该表上运行此UPDATE语句(也使用mysql命令直接在数据库计算机上尝试使用它):

update `RESULTS` set `TYPE`='IGNORE' where `STATUS`='IGNORE';

我收到了这个错误:

Error Code: 1136. Column count doesn't match value count at row 1

将单引号更改为双引号没有帮助。我能够成功运行此查询:

select count(`TYPE`) from `RESULTS` where `STATUS`='IGNORE';

我可能在这里犯了一个愚蠢的错误,但任何人都可以指出UPDATE声明的错误吗?

1 个答案:

答案 0 :(得分:2)

根据要求,我将其作为答案发布。

错误基本上是自我解释,就像对一组属性执行操作,但查询中提供的值不够。但是在你的情况下,你正在使用所有属性及其值执行和更新操作,但仍然出现此错误,可能是在事件之前/之后为此表注册了一些触发器的情况,如果是这种情况,则需要如果不需要,更新或删除该触发器。