|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Inscription : août 2006 Messages : 590 ![]() |
Bonjour,
Je me pose une petite question: il faut que je remplisse deux tables : - eleves, qui contient nom, prenom, mail, un champ id et un champ id-groupe - groupe, qui contient sujet, date et un champ id La valeur de eleves.id-groupe est déduite de la valeur que prend groupe.id à l'insersion. Pour le moment, je pense faire les choses en deux temps : 1) une première requête insère le nouveau groupe et j'extrait la valeur la plus élevée de groupe.id 2) j'insère les élèves dans leur table en assignant à eleves.id-groupe la valeur récupérée en 1). Est-ce qu'il y a mieux à faire ? Est-ce qu'il n'y a pas un risque, si deux requêtes arrivent simultanément, qu'il y ait une collision malheureuse ? Si oui, existe-t-il un moyen de l'éviter ? Genre une manière siouxe d'insérer lesnouveaux enregistrements... Merci beaucoup Hugo |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Non il y a pas de solutions plus intelligente, tu créés ton groupe puis tu récupères l'ID du groupe créé et tu créés ensuite tes élèves.
En ce qui concerne les collisions, tu peux les éviter, tu as plusieurs solutions : - Tu lock ta table, tu la liberes une fois que tu a récupéré l'ID - Tu peux utiliser LAST_INSERT_ID / mysql_insert_id(), si tu utilises MYSQL - Tu peux utiliser les procédures stockés, pour faire l'insertion et la récupération de l'ID inséré A+ Alain |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : août 2006 Messages : 590 ![]() |
Merci beaucoup de ta réponse !!!
On va donc faire ainsi !! Hugo |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com