mysql - MySQL 中的 RETURNING 等价物

标签 mysql postgresql pdo

我需要在 MySQL 中为 PostgreSQL 中的 RETURNING 功能找到一个等效项(用于 INSERT INTO)。 LAST_INSERT_ID() 不起作用,因为 id 不是自动递增的,而是由子查询生成的。由于 PDO 允许的单个查询之间的延迟,我想在没有表锁定的情况下在一行中实现它,以保持表可用。

最佳答案

如何添加一个虚拟的自动增量主键?然后,该过程将不会通过单个查询来完成,而是可以在没有显式表锁定的情况下完成。

  1. 插入一行。
  2. 通过 LAST_INSERT_ID() 获取 PK。
  3. 获取结果为 [2] 的行。

关于mysql - MySQL 中的 RETURNING 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9027008/

相关文章:

mysql - 在 node.js 中连接 ENOENT/var/run/mysqld/mysqld.sock 时出错

php - 如何根据URL显示内容

postgresql - sequelize postgresql 更新迁移

postgresql - 在postgresql的不同 View 中加入具有相同名称的两列并获得总数

php - 如何使用 PDO 中的绑定(bind)参数进行模糊搜索?

Php oop 在数据库中插入日期/时间

mysql - 如何为 wiki 系列建立数据库?

sql - 如何在 group by 子句中支持两个条件(postgresql)

php - PDO 两表连接

php - 按另一个表中的列对表进行排序