我想更改我正在检索的邮件的状态。 考虑具有三列消息,用户名和状态的MySQL数据库。
从这张表我正在检索所有状态为1的消息。 例如,我检索user1的消息,检索到该消息之后状态为1,我想将该消息的状态更改为0.只有user1消息状态而不是其他消息状态。我该怎么做?有人请回答.....
答案 0 :(得分:0)
只需使用UPDATE声明
即可UPDATE message_user2
SET status = 0
WHERE Username = 'user1'
答案 1 :(得分:0)
UPDATE message_user2
SET message_user2.status = 0
WHERE Username IN '(SELECT Username FROM message_user2 WHERE Username = user1)';
答案 2 :(得分:0)
试试这个
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 username FROM message_user2 WHERE username='user1' and status=1)
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'Update message_user2 set status=0 where username='+@name
EXEC (@SQL)
PRINT 'Updated value: ' + @name
SELECT @name = (SELECT TOP 1 username FROM message_user2 WHERE username='user1' and status=1 )
END
SELECT * from message_user2 where status=0 and username='user1'
GO