php - 在 PHP mysql_query() 中一次运行两个 MySQL 查询

标签 php mysql sql

我需要使用 MySQL 的 SELECT LAST_INSERT_ID() 函数来获取最后插入行的 ID。 当我尝试运行它时:-

  mysql_query("
    INSERT INTO `posts`
           (`user`, `body`, `time`, `pageID`)
           VALUES('pachykutty', 'testMessage', '2012-10-26 04:59:43', 1);
    SELECT LAST_INSERT_ID();");

给我错误,但是当我像这样分别运行两个查询时:-

mysql_query("
INSERT INTO `posts`
       (`user`, `body`, `time`, `pageID`)
       VALUES('pachykutty', 'testMessage', '2012-10-26 04:59:43', 1)");
mysql_query("SELECT LAST_INSERT_ID()");

没关系。我担心如果两个客户端同时运行查询,他们的 LAST_INSERT_ID 会发生冲突。所以我想立即运行这两个查询。有什么办法吗?

最佳答案

你可以使用这样的查询

mysql_query("
INSERT INTO `posts`
       (`user`, `body`, `time`, `pageID`)
       VALUES('pachykutty', 'testMessage', '2012-10-26 04:59:43', 1)");
$var =  mysql_insert_id();

mysql_insert_id 作用于最后执行的查询。

所以不用担心并使用上面的代码。

关于php - 在 PHP mysql_query() 中一次运行两个 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081132/

相关文章:

mysql - 如何界定外键的可能值?

sql - Oracle 10g 范围分区查询

mysql - mysql中如何从列中的数组中选择一行

javascript - CRUD api - 连接前端和后端

php - 如何通过返回使用 Foreach 数据 Codeigniter

php - 通过 Android 应用上传图片并使用 $_POST 发送文本

php - 使用mysql从三个不同的表中呈现php中的数据

mysql - 如何从mysql表中获取最后插入的记录?

向 Gcm 发送 1000 多个用户的 Php 函数

sql - Oracle sql order by with case 语句