2017-03-27 4 views
1

J'ai deux tables MySQL client et adresse. Je vais avoir des données d'un client complet (c.-à-Infos personnelles avec adresse)Dernier inséré respectif Records ID de MySQL PHP

Tableau Structures

clients

CustId FullName Gender AddressId 
__________________________________________ 

Adresse

AddressId Street City State 
_____________________________________ 

Je suis en insérant les valeurs de la table dans la plate-forme PHP, comment puis-je relier le AddressId et Insérer tout les données dans un seul coup. Je ne peux pas faire confiance au dernier identifiant inséré, parce que c'est un Web nous ne pouvons pas assurer le dernier AddressId inséré appartient l'enregistrement respectif (données de nuage - Insertion en ligne)

Répondre

1

Le dernier ID inséré dans MySQL est suivi au niveau de connexion (https://dev.mysql.com/doc/refman/5.7/en/getting-unique-id.html).

Pour LAST_INSERT_ID(), l'ID généré le plus récemment est conservé sur le serveur par connexion. Ce n'est pas changé par un autre client. Il n'est même pas modifié si vous mettez à jour une autre colonne AUTO_INCREMENT avec une valeur nonmagic (c'est-à-dire, une valeur qui n'est pas NULL et non 0). L'utilisation simultanée des colonnes LAST_INSERT_ID() et AUTO_INCREMENT de plusieurs clients est parfaitement valide. Chaque client recevra le dernier ID inséré pour la dernière instruction exécutée par le client.

Cela signifie, à moins que l'intérieur de votre même connexion que vous faites d'autres inserts avec id autoincrement uniques de l'aide d'une magie (null ou 0) après l'insertion que vous êtes préoccupé par, vous serez sûr de revenir le dernier id créé à partir de votre insertion précédente sur votre connexion spécifique.