我最近从 SQL Server 切换到 MySQL,但我在任何地方都找不到这个问题的足够可靠的答案:
我在需要锁定的表上使用 PHP、MySQL 和 InnoDB 表引擎。因此,对于标准系列的 3 个语句:
- 插入表 A
- $id = $mdb2->lastInsertID()
- 插入表 B (name, fk) VALUES ('foo', $id)
我需要采取哪些步骤来确保 $id 具有步骤 1 中插入的值?它现在这样好吗?一切都需要在交易中吗?我是否需要添加其他查询来锁定和释放表?
多谢你们。