2017-03-27 35 views
1

我有兩個MySQL表客戶和地址。我有一個完整的客戶數據(即個人信息與地址)最後插入MySQL的相應記錄ID PHP

表結構

客戶

CustId FullName Gender AddressId 
__________________________________________ 

地址

AddressId Street City State 
_____________________________________ 

我在PHP平臺中插入表值,我如何關聯AddressId和Insert全部數據在一個鏡頭中。我不能相信最後插入的ID,因爲它的網絡我們無法保證最後插入的AddressId屬於相應的記錄(雲數據 - 在線插入)

回答

1

最後插入的ID在MySQL中在連接級別被跟蹤(https://dev.mysql.com/doc/refman/5.7/en/getting-unique-id.html)。

對於LAST_INSERT_ID(),最近生成的ID被保持在基於每個連接的基礎服務器。它不會被另一個客戶更改。如果使用非魔術值更新另一個AUTO_INCREMENT列(即非NULL值不爲0),它甚至不會更改。同時使用來自多個客戶端的LAST_INSERT_ID()和AUTO_INCREMENT列是完全有效的。每個客戶端將收到客戶端執行的最後一條語句的最後一個插入的ID。

這意味着,除非在同一連接中,在插入之後,您使用magic(null或0)進行其他具有唯一自動增量ID的插入操作,否則將確保返回最後一個ID根據您的特定連接上的先前插入創建。