SQL Server更新错误-“;子查询返回了多个值“1”;

SQL Server更新错误-“;子查询返回了多个值“1”;,sql,sql-server,Sql,Sql Server,当我运行以下sql update语句时 update logins set active = 0 where loginlast is null 我得到以下信息 子查询返回了多个值。这是不允许的,因为 子查询后面是=,!=,=或者当子查询用作 表情 关于我为什么会出现这个错误,你有什么想法吗?正如马丁·史密斯在评论中所说: 可能您有一个更新触发器,它期望更新只影响一行 是,没有子查询,但SQL server报告错误, 因为触发器有子查询。您的示例中没有子查询,或者我误解了某些内容……此查询没有

当我运行以下sql update语句时

update logins
set active = 0
where loginlast is null
我得到以下信息

子查询返回了多个值。这是不允许的,因为 子查询后面是=,!=,=或者当子查询用作 表情


关于我为什么会出现这个错误,你有什么想法吗?

正如马丁·史密斯在评论中所说:


可能您有一个更新触发器,它期望更新只影响一行

是,没有子查询,但SQL server报告错误,
因为触发器有子查询。

您的示例中没有子查询,或者我误解了某些内容……此查询没有问题。发布完整代码后,正如错误所指出的,应该在某个地方有子查询。另外,请正确标记您的问题,您使用的是哪种RDBM、MySQL、MS SQL Server、Oracle?可能您有一个更新触发器,它期望更新只影响一行。@MartinSmith,您应该将此作为答案,这样您就可以获得积分。我想说,99.9%的可能性你是对的。人们似乎不明白,SQL server中的所有触发器总是需要编写来处理数据集,而不是一次处理一条记录。对于OP来说,问题可能是他们在触发器中将字段的值设置为标量变量。