【发布时间】:2011-08-18 13:16:47
【问题描述】:
我的 SQL 查询
UPDATE Task SET Done = 1 WHERE (ID = (SELECT ID FROM User WHERE UserName = @UserName)
我试过了,但出错了:
子查询返回超过 1 个值。这是不允许的,当 子查询遵循 =、!=、、>= 或当子查询用作 一种表达。声明已终止。
是否有任何可能的方法来做到这一点(例如 for 循环)?谢谢
【问题讨论】:
-
您有多个同名用户名?这听起来很奇怪。也许您忘记传递参数并且您有空白用户名? (这还是很奇怪?)。
-
@gbianchi - 您在允许重复用户名的网站上发布该评论,因此它实际上并不是一个奇怪的概念。