我需要使用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将发生冲突。所以我想毫不拖延地一起运行这两个查询。有什么办法吗?
答案 0 :(得分: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对最后执行的查询起作用。
所以不用担心并使用上面的代码。