2015-08-26 2 views
0

Я хочу изменить статус сообщения, которое я получаю. рассмотрите базу данных MySQL с тремя сообщениями столбца, именем пользователя и статусом. Database looks like thisКак изменить статус записи, которую я извлекаю

из этой таблицы я извлекая сообщение, которое все имеющее статус 1. , например, я извлекая сообщение о user1, статус которого является 1 после получения этого сообщения я хочу, чтобы изменить статус этого сообщения на 0. Только статус сообщения user1 не является другим. Как мне это сделать? Кто-то пожалуйста, ответ .....

+0

обновление message_user2 набор статус = 0, где имя пользователя = 'user1' и статус = 1. .. будет обновлять 2 строки, кстати, если это то, что вы имеете в виду – Drew

+1

, вам, вероятно, нужен идентификатор auto_inc в этой таблице, чтобы управлять им – Drew

+0

Я не понимаю. –

ответ

0

Просто используйте UPDATE заявление

UPDATE message_user2 
SET status = 0 
WHERE Username = 'user1' 
+0

. Я могу просто изменить значение. Но я хочу, чтобы после получения записи я хочу изменить значение. –

+0

, так что вы хотите выбрать, чтобы сделать обновление тоже? @karthikeyan – Drew

+0

, после чего, как сказал Дрю, добавьте первичный ключ в свою таблицу, поэтому мы можем легко ссылаться на него. – Sherlock

0
UPDATE message_user2 
SET message_user2.status = 0 
WHERE Username IN '(SELECT Username FROM message_user2 WHERE Username = user1)'; 
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='[email protected] 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

Смежные вопросы