У меня есть две таблицы MySQL: клиент и адрес. У меня есть данные полного клиента (т. Е. Личная информация с адресом)
Структуры таблицы
Покупатель
CustId FullName Gender AddressId
__________________________________________
Адрес
AddressId Street City State
_____________________________________
Я вставляю значения таблицы в платформу PHP, как я могу связать AddressId и вставить все данные в один кадр. Я не могу доверять последнему вставленному идентификатору, поскольку мы не можем гарантировать, что последний вставленный адресный идентификатор принадлежит соответствующей записи (данные в Интернете — вставка в Интернете).
Последний вставленный идентификатор в MySQL отслеживается на уровне соединения (https://dev.mysql.com/doc/refman/5.7/en/getting-unique-id.html).
Для LAST_INSERT_ID () последний сгенерированный идентификатор сохраняется на сервере для каждого соединения. Это не изменено другим клиентом. Он даже не изменится, если вы обновите другой столбец AUTO_INCREMENT немагическим значением (то есть значением, которое не равно NULL и не равно 0). Использование столбцов LAST_INSERT_ID () и AUTO_INCREMENT одновременно от нескольких клиентов вполне допустимо. Каждый клиент получит последний вставленный идентификатор для последнего оператора, выполненного клиентом.
Это означает, что если внутри вашего же соединения вы не сделаете другие вставки с уникальными идентификаторами автоинкремента, используя магию (ноль или 0) после вставки, которая вас беспокоит, вы обязательно получите последний идентификатор, созданный из предыдущей вставки в ваше конкретное соединение.
Других решений пока нет …