php - Mysql insert 和 select id of inserted

标签 php mysql sql

我在 mysql 表中插入 1 行,该行具有 auto_increment id 值,并且想获取该行的 id。 你知道一些结构吗?

{
 INSERT INTO some_table (`name`) VALUES ('test name')
 ON SUCCESS RETURN id
}

表结构:

id: int not null auto_increment Primary key
name: Varchar (20)

我阅读了有关 LAST_INSERT_ID 的信息,但如果同时调用我的脚本,则会更改 2 个不同的插入,并且 LAST_INSERT_ID 可能会返回错误的值。

我正在使用不允许多次提交和/或回滚的 php 和准备好的语句。

谢谢你的想法。

最佳答案

您对 PHP PDO 的多用户使用有错误的假设。最后插入 ID 存储在连接时创建的 PDO 对象中。所以这个“最后插入 ID”值是按连接存储的。这样同时通话就不会互相干扰。

这是 manual reference .

关于php - Mysql insert 和 select id of inserted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575646/

相关文章:

php - 什么可能导致 "exceeded process limit"错误?

php - 将mysql数据库转为php中的pdo类

php - MySQL查询不包含返回今天购买的商品

sql - 变量中的引号

mysql - 选择 SUM 并计算每行的百分比

php - 使用 mysqli bind_param() 时出错

php - 在带有 MySql 的 PHP 中插入相同结果之前和之前选择

php - 将所有行回显到表中

mysql - 计算在 0 到 10 秒的特定范围内应答的调用,按计数分组

MYSQL:同一张表上的两个连接变成双分组计数。如何解决?