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

SQL Procédural MySQL Discussion :

[MySQL 4.1.1 & PHP 5.0.4] INSERT avec tables dépendantes


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 64
    Points : 47
    Points
    47
    Par défaut [MySQL 4.1.1 & PHP 5.0.4] INSERT avec tables dépendantes
    Bonsoir,

    J'ai 2 tables A et la B qui dépend de la A
    Avec en clé primaire A1 et B1 en autoincrément, etune clé B.B2 = A.A1.

    Donc comment puis-je faire un insert de B en sachant que je dois d'abord faire celle de A et commité. ?
    Peut-on utiliser une PS et comment faire ?

    Merci de vos éclaricissement ?

    Benat

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: [MySQL 4.1.1 & PHP 5.0.4] INSERT avec tables dépenda
    D'après ce que tu nous décris, il n'y a pas de dépendence circulaire, donc ça reste assez simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO A(A2, A3, A4,...)
    VALUES (Va2, Va3, Va4, ...) ;
     
    INSERT INTO B(B2, B3, B4,...)
    VALUES ( LAST_INSERT_ID() , Vb3, Vb4, ...) ;
    Et si tu peux, met le tout dans une transaction.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 64
    Points : 47
    Points
    47
    Par défaut Re: [MySQL 4.1.1 & PHP 5.0.4] INSERT avec tables dépenda
    Citation Envoyé par pcaboche
    D'après ce que tu nous décris, il n'y a pas de dépendence circulaire, donc ça reste assez simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO A(A2, A3, A4,...)
    VALUES (Va2, Va3, Va4, ...) ;
     
    INSERT INTO B(B2, B3, B4,...)
    VALUES ( LAST_INSERT_ID() , Vb3, Vb4, ...) ;
    Et si tu peux, met le tout dans une transaction.
    Merci pour ta réponse.
    Par contre comment gères-tu les transactions, je connait l'atomicité, je sais qu'il faut créer les tables avec InoDB, mais qu'elle est linstruction de la transaction :

    {
    Begin transaction;
    ....
    Commit transaction;
    Rollback transaction;
    }

    par avance merci

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/04/2007, 19h43
  2. Réponses: 11
    Dernier message: 25/07/2006, 21h46
  3. Mysql installé mais indisponible depuis php
    Par julien.63 dans le forum Debian
    Réponses: 9
    Dernier message: 16/06/2006, 22h20
  4. Imossible d'acceder à MySQL à partir d'un script PHP
    Par Pahcixam dans le forum Installation
    Réponses: 2
    Dernier message: 16/06/2006, 16h20
  5. [MySQL] Recherche un exemple de php
    Par SENCABOY dans le forum Requêtes
    Réponses: 17
    Dernier message: 15/02/2006, 15h56

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