(注意:我知道这是一个常见的错误,但大多数情况下,问题出在INSERT
声明中。我找不到一个问题此网站在UPDATE
期间发生此错误。)
我在MySQL(InnoDB / v.5.7.19)中有一个名为RESULTS
的表,其中有两列名为TYPE
和STATUS
。两者都是ENUM
类型,PASS
,FAIL
和IGNORE
是两者中支持的值。我正在尝试使用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
声明的错误吗?
答案 0 :(得分:2)
根据要求,我将其作为答案发布。
错误基本上是自我解释,就像对一组属性执行操作,但查询中提供的值不够。但是在你的情况下,你正在使用所有属性及其值执行和更新操作,但仍然出现此错误,可能是在事件之前/之后为此表注册了一些触发器的情况,如果是这种情况,则需要如果不需要,更新或删除该触发器。