最后从MySQL PHP中插入了相应的记录ID

时间:2017-03-27 15:07:13

标签: php mysql foreign-keys sql-insert mysql-insert-id

我有两个MySQL表客户和地址。我有完整客户的数据(即带地址的个人信息)

表结构

客户

CustId    FullName    Gender    AddressId
__________________________________________

地址

AddressId    Street    City    State
_____________________________________

我在PHP平台中插入表值,我如何关联AddressId并插入单个镜头中的所有数据。我无法信任最后插入的ID,因为我们无法保证最后插入的AddressId属于相应的记录(云数据 - 在线插入)

1 个答案:

答案 0 :(得分:1)

在连接级别(https://dev.mysql.com/doc/refman/5.7/en/getting-unique-id.html)跟踪MySQL中的上次插入ID。

  

对于LAST_INSERT_ID(),最近生成的ID在每个连接的基础上维护在服务器中。它不会被其他客户更改。如果使用非可疑值更新另一个AUTO_INCREMENT列(即,非NULL且不为0的值),则甚至不会更改它。同时从多个客户端使用LAST_INSERT_ID()和AUTO_INCREMENT列是完全有效的。每个客户端将接收客户端执行的最后一个语句的最后插入的ID。

这意味着,除非在您所关注的插入内部使用魔法(null或0)进行其他插入,并使用独特的自动增量ID进行其他插入,否则您将确保返回从您创建的最后一个ID事先插入特定连接。