Tout d'abord, je veux INSERT
données dans deux TABLE
à la fois. Je sais que ce n'est pas possible. En raison de cette limitation, je prévois un problème qui pourrait se produire si deux REQUESTS
(pour insérer des données) se produisent simultanément.MySQL insérer des données AVOID Ambiguité
Y at-il un moyen que lorsque je INSERT
données dans le premier tableau. Personne ne pouvait avoir des données dans le premier TABLE
alors que j'entre une donnée relationnelle pour éviter une mauvaise liaison des données (ce qui pourrait se produire parce que j'utilise la fonction mentionnée pour obtenir le dernier ID inséré) mysqli_insert_id();
.
J'espère que mon message est clairement défini. Si ce n'est pas le cas, mentionnez-le afin que je puisse me débarrasser de cette éventualité. Je vous serai reconnaissant à cet égard.
UPDATE
EXEMPLE: ILLUSTRATION (CODE PSEUDO)
(exemple est ajouté que mon problème n'a pas été clairement traitée)
REQUEST- 1:
//ClientRequest-1
1. INSERT data in table-A
2. GET INSERT-ID
3. INSERT data in table-B
DEMANDE-2:
//ClientRequest-2
1. INSERT data in table-A
2. GET INSERT-ID
3. INSERT data in table-B
DÉFI:
si les deux demandes se traitées en parallèle sans erreur (Préalable) dans l'ordre suivant (plusieurs demande filetée):
01. Point # 1 of Request-1
02. Point # 1 of Request-2
03. Point # 2 of Request-2
04. Point # 3 of Request-2
05. Point # 2 of Request-1
06. Point # 3 of Request-1
Le problème est:
When Points 02,03,04 get executed, will the insert_id get affected for Request-1
me guider Veuillez, est la bonne façon ou d'une autre façon de le faire. Sera reconnaissant à vous en ce qui concerne King.
Vous recherchez une transaction. – Mjh
Je suis nouveau, oui peut être comme ça. @Mjh –
J'expliquerais plus loin, mais googler juste pour une "transaction de MySQL" donnera d'excellents résultats. Une transaction signifie que TOUTES les requêtes sont exécutées (dans la transaction) ou aucune. Cela vous permet d'arrêter de vous inquiéter de "ce qui se passe si les demandes se produisent simultanément". À l'aide d'une transaction, vous isolez un ensemble de requêtes (qu'il s'agisse d'insérer, de supprimer ou de mettre à jour) à partir des autres requêtes en cours. Dans votre cas, cela signifie que vous pouvez simplement insérer les données et ne pas s'inquiéter. – Mjh