我有两个MySQL表客户和地址。我有完整客户的数据(即带地址的个人信息)
表结构
客户
CustId FullName Gender AddressId
__________________________________________
地址
AddressId Street City State
_____________________________________
我在PHP平台中插入表值,我如何关联AddressId并插入单个镜头中的所有数据。我无法信任最后插入的ID,因为我们无法保证最后插入的AddressId属于相应的记录(云数据 - 在线插入)
答案 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事先插入特定连接。