[PHP] Replace into

Résolu/Fermé
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 - Modifié par irongege le 2/03/2011 à 17:48
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 - 7 mars 2011 à 10:07
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

Maxbester Messages postés 41 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 24 décembre 2021 17
2 mars 2011 à 11:32
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
0
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
2 mars 2011 à 11:37
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!)
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
2 mars 2011 à 15:09
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...
0
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 57
7 mars 2011 à 10:07
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 !
0