[PHP] boucle pour maj données postgres

Bonjour,

Je cherche à insérer des données dans une table (PostGres) via un script php, en utilisant une boucle pour numéroter de façon auto. les lignes de 1 à n. Mais cela ne marche pas. Quelqu'un pourrait-il m'éclairer ? MERCI

//creation table test :
pg_exec($conn_db, CREATE TABLE test
(numero INT,
(titre VARCHAR (20))");
//maj de la table test :
for ($j=1; $j<10; $j==);
pg_exec($con_db, "INSERT INTO $test[numero] VALUES ($j)");
pg_close...

4 réponses

  1. Je ne connais pas beaucoup Postgre qui ne supporte apparement pas la propriété AUTO_INCREMENT.
    Ceci dit, il y'a une propriété SERIAL qui est similaire.
    https://www.postgresql.org/docs/8.1/datatype.html#DATATYPE-SERIAL

    En gros, ca fait que chaque enregistrement dans ta table aura pour valeur de ta colonne numero, un chiffre incrémenté de 1 automatiquement, en commencant à 1 pour le premier.

    Il sera par contre peut-être nécessaire de NE PAS spécifier ta colonne numero lors de l'insertion

    INSERT INTO test (titre) VALUES ('titre_à_ajouter');
    1. svp j chercher code source ou document en php qui permit la connection avec base oracle 10j...
      Merci
      1. Bonjour,

        Je n'ai jamais utilisé postgre mais il y a un point qui me semble faux :
        Ta requete est
        INSERT INTO $test[numero] VALUES ($j)
        alors que normalement je pense que ça doit être :
        INSERT INTO test (numero) VALUES ($j)
        1. Sorry, il y avait une erreur dans mon 1er message.
          Voici ce qui ne marche pas :

          //creation table test :
          pg_exec($conn_db, CREATE TABLE test
          (numero INT,
          (titre VARCHAR (20))");
          //maj de la table test :
          for ($j=1; $j<10; $j++);
          pg_exec($con_db, "INSERT INTO $test[numero] VALUES ($j)");
          pg_close...