IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

remplir simultanément deux tables


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut remplir simultanément deux tables
    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

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    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

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Merci beaucoup de ta réponse !!!
    On va donc faire ainsi !!
    Hugo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/06/2008, 03h53
  2. [MySQL] comment remplir deux tables?
    Par hafcher dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/06/2008, 18h41
  3. [MySQL] Remplir simultanément 2 tables reliées
    Par TooKool dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/12/2007, 19h55
  4. Remplir deux tables a partir d'un formulaire
    Par Treuze dans le forum Access
    Réponses: 2
    Dernier message: 07/01/2006, 20h51
  5. remplir deux tables en meme temps
    Par rafawel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/06/2005, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo