这句SQL语句执行返回。。。子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后。 请问有什

2025-03-24 10:10:07
推荐回答(4个)
回答1:

说明usermessage里面有几行user都是admin,所以不能让message=一个结果集

加个 top 1 就解决了

UPDATE usermessage SET message =(SELECT top 1 message FROM usermessage WHERE user ='admin'),type = 3 WHERE ID=30 AND type = 4

回答2:

SELECT message FROM usermessage WHERE user ='admin'
你单独执行一下这条语句,看下结果,如果记录多于一条的话就会报这个错的哈。

回答3:

SELECT message FROM usermessage WHERE user ='admin'这句话是不是返回了很多值?更新语句必须保证子查询只返回一个值,否则就报错。

回答4:

意思是SELECT message FROM usermessage WHERE user ='admin' 这个查询出来不止一条,你单独执行下这条语句,如果是大于一条UPDATE是会报错的