[PHP] Replace into

Résolu
Bonjour,

Je me demandais si le REPLACE INTO ajoutais une occurence dans la BDD ?

Si la syntaxe que j'ai est bonne : REPLACE INTO table (champ) VALUES (nom_du_champ), (nouveau_nom);

Et si ce n'était pas le cas, comment puis-je faire pour remédier à l'erreur suivante : MySQL error 1110: Column 'XXXX' specified twice

Merci de votre aide



By DigsaW_- / Keassad !

4 réponses

  1. Merci beaucoup à tous j'ai réussi a régler mon problème !

    Merci pour votre aide et pour ses lien qui m'ont été bien util !
    1. Et si ce n'était pas le cas, comment puis-je faire pour remédier à l'erreur suivante : MySQL error 1110: Column 'XXXX' specified twice
      c.f boly38 @ http://dev.mysql.com/doc/refman/5.0/fr/replace.html : REPLACE fonctionne exactement comme INSERT
      Regardes bien la fonction d'insert comment on la fait, http://dev.mysql.com/doc/refman/5.0/fr/insert.html tu verra que ta syntaxe est fausse, une piste : les parenthèses...
      1. pour répondre uniquement à la première question d'après la doc. de MySQL cette instruction fonctionne comme un INSERT si la ligne n'existe pas.

        cf .
        (francais) http://dev.mysql.com/doc/refman/5.0/fr/replace.html
        (anglais avec comm) https://dev.mysql.com/doc/refman/8.0/en/replace.html

        sinon il faut savoir que cette instruction est spécifique MySQL... à manipuler avec précaution (comme l'indique le premier commentaire en anglais si des "ON DELETE CASCADE" sont spécifiés sur la bdd par exemple!)
        1. Bonjour,

          Ce n'est pas du php mais plutôt du SQL que tu demandes.

          Pour mettre à jour un champ dans une table, ce n'est pas REPLACE mais UPDATE !

          UPDATE table SET colonne1=valeur1, colonne2=valeur2,... WHERE une_colonne=une_value

          Si tu comprends l'anglais, tu trouveras des exemples ici : https://www.w3schools.com/sql/sql_update.asp