website logo
Auteur
avatar
capcaverne

Forum » » Le coin des codeurs » » Mysql : insérer un élément si il n'existe pas


Posté : 15 déc. 2003 à 09:49 icone du post

euh ...
normalement dans une table MySQL, tu as 1 (au pire 2 ) champs uniques (ce sont la/les clé(s)).
De 2 chose l'une :
- soit tu veux mettre à jour un element déjà existant : UPDATE
- soit tu veux ajouter un nouvel enregistrement (INSERT INTO) et quoiqu'il advienne i lfaut impérativement que les champs UNIQUE le soient !

Il y a une autre solution : te ne met pas de champs en UNIQUE et tu ajoute un champs à ta table (per exemple CLE) que tu définit en PRIMARY KEY UNIQUE AUTOINCREMENT .

Exemple : 1 table 3 champs : CLE,ID,NOM (CLE = PRIMARY KEY, UNIQUE, AUTOINCREMENT)
et quand tu fait ton insert tu laisse le 1er champs vide comme suit:
INSERT INTO ma_table (CLE,ID,NOM) VALUES ('',mon_id,mon_nom);
si je me souviens bien ca doit pouvoir marcher

Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=9089&forum=5