Php 如何更改我正在检索的记录的状态
我想更改正在检索的邮件的状态。 考虑一个具有三列消息、用户名和状态的MySQL数据库。 从这个表中,我正在检索状态都为1的消息。 例如,我正在检索user1的消息,该消息的状态为1。检索该消息后,我希望将该消息的状态更改为0。只有user1消息状态,而不是其他消息状态。我该怎么做?有人请回答 只需使用语句Php 如何更改我正在检索的记录的状态,php,mysql,database,scripting,server,Php,Mysql,Database,Scripting,Server,我想更改正在检索的邮件的状态。 考虑一个具有三列消息、用户名和状态的MySQL数据库。 从这个表中,我正在检索状态都为1的消息。 例如,我正在检索user1的消息,该消息的状态为1。检索该消息后,我希望将该消息的状态更改为0。只有user1消息状态,而不是其他消息状态。我该怎么做?有人请回答 只需使用语句 UPDATE message_user2 SET status = 0 WHERE Username = 'user1' 试试这个 更新消息\u user2 set status=0,
UPDATE message_user2
SET status = 0
WHERE Username = 'user1'
试试这个
更新消息\u user2 set status=0,其中username='user1'和status=1。。。顺便说一句,如果这是您的意思,您可能希望该表中有一个auto_inc id来驱动它,请首先重新阅读您的问题。我们不知道您是想将user1的第一条消息设置为0,还是两者都设置为0。然后,如果您只想更新其中一个,那么使用where子句,使用@Ephoriagrogi第一次看到的消息='hey there',可能意味着非索引搜索。因此,您需要列id上的PK。这是基本的表设计。您需要复合索引来访问用户、状态等,而这不是小文本窗口中的教程站点。你应该花几个小时在教程上。你应该问一些与地质问题有关的问题。你想做的事与你的身份没有严格的关系。更合适的标题是如何更新mysql数据库上的记录。我建议您阅读本页,我可以简单地更改值。但我想要的是,在获得记录后,我想要更改值。那么您也想要一个select来进行更新吗@karthikeyanthen正如Drew所说,在表中添加主键,这样我们就可以很容易地引用它。我想在检索该记录时在数据库中选择一条记录。我想更改该记录的状态值,该记录称为存储过程。Select本身不会这样做
UPDATE message_user2
SET message_user2.status = 0
WHERE Username IN '(SELECT Username FROM message_user2 WHERE Username = user1)';
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