Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PHP - SQL] Double post voulu

Comment optimiser ?

Sujet résolu
    12 novembre 2006 à 19:18:20

    Bonjour !

    J'ai deux tables SQL qui sont les suivantes :
    CREATE TABLE `table1` (
    `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    `contenu` VARCHAR( 255 ) NOT NULL ,
    UNIQUE (
    `id`
    )
    ) TYPE = MYISAM ;


    et

    requête SQL:
    CREATE TABLE `table2` (
    `id` INT( 11 ) NOT NULL ,
    `contenu` VARCHAR( 255 ) NOT NULL
    ) TYPE = MYISAM ;


    J'aimerais insérer un contenu dans la table1, et qu'en même temps, la même chose soit insérée dans table2.

    Mais pourquoi donc ?

    C'est un peu compliqué, j'ai simplifié ici la situation au maximum.


    Le problème est le suivant : la table1 à son champ id qui est en AUTO_INCREMENT, et je veut avoir le même id sur chaque table.

    J'ai donc envisagé de faire le code suivant :


    <?php
    $contenu = "mon contenu";

    $sql = 'INSERT INTO `table1` ( contenu ) VALUES ("'.$contenu.'");';

    mysql_query($sql);

    $sql = 'SELECT id, contenu FROM table1 WHERE contenu = "'.$conteny.'"';

    $reponse = mysql_query($sql);

    $sql = 'INSERT INTO `table2` ( id , contenu ) VALUES ('.mysql_result($reponse,0,0).'"'.$contenu.'");';

    mysql_query($sql);
    ?>


    Ma question est donc la suivante :

    Y a-t-il moyen d'éviter de faire trois requètes ?


    Merci d'avance,

    piRpav
    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2006 à 19:39:09

      mysql_insert_id() te permet de récupérer la valeur du dernier champs auto-incrementé par MySQL ;)
      • Partager sur Facebook
      • Partager sur Twitter
        12 novembre 2006 à 19:42:41

        Essaies ceci:
        <?php
        $contenu = "mon contenu";

        mysql_query('INSERT INTO `table1` ( contenu ) VALUES ("'.$contenu.'");');
        mysql_query('INSERT INTO `table2` ( id , contenu ) VALUES ('.mysql_insert_id().', "'.$contenu.'");');
        ?>
        • Partager sur Facebook
        • Partager sur Twitter
          12 novembre 2006 à 19:43:33

          Merci beaucoup, ça marche parfaitement ! :)

          Une requête de moins !

          Je ne pense pas qu'il y ait moyen d'en économiser encore une, je marque donc ce topic comme résolu.
          • Partager sur Facebook
          • Partager sur Twitter

          [PHP - SQL] Double post voulu

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown