插入后如何更新数据?

时间:2014-04-27 05:50:29

标签: php mysql

mysql_query(“INSERT INTO withdraw(用户名,金额,日期)SELECT用户名,金额,NOW()FROM accounts WHERE username ='$ username'UPDATE accounts SET amount = 0 WHERE username ='$ user'”)

我想在插入后更新数据,但此查询无法正常工作

3 个答案:

答案 0 :(得分:1)

只需将您需要插入的所有列放入选择部分

INSERT INTO withdraw (username, amount, some_date) 
            SELECT    username, amount, now() 
              FROM accounts 
             WHERE username='$username';

答案 1 :(得分:0)

语法应如何 -

INSERT INTO Table2
(client_last_name, client_first_name, taskDescription, category)
(SELECT clientLastName, clientFirstName, incidentDescription, category
FROM Table1
WHERE info_field IS NOT NULL)


建议:避免使用mysql_ *函数,因为它们在最近的PHP版本中已弃用。了解mysqli prepared statementPDO并开始实施。

答案 2 :(得分:0)

在我看来,你可以将你的陈述分成两部分。假设你想让NOW()成为所有插入行中的当前日期(我在SQL Server中编写,因为我无法在MySQL中编写,如果可以请尝试将其转换为MySQL):

@date=NOW();
INSERT INTO withdraw (username,amount) SELECT username,amount FROM account WHERE
username=@username;
UPDATE withdraw
SET date=@DATE where ID=@@IDENTITY

如果您的表具有IDENTITY ID列。在MySQL中,它是自动递增的,适当的函数是SCOPE_IDENTITY()(在MySQL中选择最后插入的ID,你可以谷歌获取更多信息)