我正在尝试进行简单的更新。这种事情我已经做过数千次了。
update articles
set department = 60
where type = 'Top Story'
今天我得到一个奇怪的错误。
描述错误:检索失败 执行计划:子查询返回更多 大于 1 个值。这是不允许的 当子查询跟随 =, !=, <, <= 、>、>= 或使用子查询时 作为表达式。
警告:---> W (1): 声明已终止。 <---
受影响的 1559 条记录
更新语句中没有子查询。这是怎么回事?
很可能表
上有一个触发器,并且错误发生在触发器中,而不是实际的 SQL 语句中。
我进一步打赌,触发器假设插入或删除特殊表只会有一行(实际上在批量更新中并非如此,就像您正在执行的那样),从而导致问题。