说明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
SELECT message FROM usermessage WHERE user ='admin'
你单独执行一下这条语句,看下结果,如果记录多于一条的话就会报这个错的哈。
SELECT message FROM usermessage WHERE user ='admin'这句话是不是返回了很多值?更新语句必须保证子查询只返回一个值,否则就报错。
意思是SELECT message FROM usermessage WHERE user ='admin' 这个查询出来不止一条,你单独执行下这条语句,如果是大于一条UPDATE是会报错的