1

我需要使用SELECT LAST_INSERT_ID()MySQL 的函数来获取最后插入的行的 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 会发生冲突。所以我想毫不拖延地同时运行这两个查询。有什么办法吗?

4

1 回答 1

3

你可以使用这样的查询

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 作用于最后执行的查询。

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

于 2012-10-26T05:24:32.880 回答