如何在同一SQL查询中插入和选择数据?

时间:2012-02-20 17:43:34

标签: php sql

我使用了像这样的查询

INSERT INTO coins VALUES (NULL, '$user_ID', '$title', NOW())

现在稍后在同一个脚本页面中,我需要使用我刚刚在上面的查询中插入的值coin_ID。它是自动增量值,所以我添加了NULL。

在我用PHP运行一些检查后,如何在同一页面中使用这个coin_ID?

感谢

6 个答案:

答案 0 :(得分:2)

PHP中的

mysql_insert_id或mysql中的LAST_INSERT_ID

答案 1 :(得分:2)

请参阅mysql_insert_id

答案 2 :(得分:2)

这取决于您使用PHP的数据库驱动程序。如果您使用的是标准的mysql函数,则可以使用mysql_insert_id函数:

$coin_id = mysql_insert_id()

如果您使用的是PHP的PDO,那么您可以使用lastInsertId()方法:

$coin_id = $DB->lastInsertId()

如果您使用的数据库支持RETURNS sql关键字(例如postgres),那么您可以在一个查询中执行此操作。但是,MySQL并不支持它。

INSERT INTO coins VALUES (NULL, '$user_ID', '$title', NOW()) RETURNING coin_id;

如果您编辑帖子以包含您正在使用的数据库交互方法,我们可以提供更具体的答案。

答案 3 :(得分:1)

使用mysql_insert_id检索上次插入的ID。

答案 4 :(得分:1)

$coin_ID = mysql_insert_id();

答案 5 :(得分:0)

尝试通过PHP mysql_insert_id函数使用LAST_INSERT_ID()