Eviter les doublons à l'insertion

Résolu
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007 - 5 sept. 2006 à 09:39
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007 - 5 sept. 2006 à 19:04
Bonjour tout le monde,

j'ai un petit problème avec MySQL... J'ai en effet une table que j'ai créé pour qu'il n'y ait pas deux fois la même valeur pour un enregistrement, seulement la manière dont je fais mes insertions  ne me permet pas de savoir si cette insertion existe ou non. Personnellement je pensais faire un petit test en MySQL directement mais ça n'a pas l'air de marcher. Voilà ce que j'essaie :

IF NOT EXISTS (SELECT * FROM `ma_table` WHERE `ma_colonne` = 'ma valeur')
BEGIN
INSERT INTO `ma_table` (`ma_colonne`) VALUES ('ma valeur');
END

Quelqu'un aurait une idée sachant que la machine sur laquelle je travaille ne supporte pas beaucoups de tests à la suite.

Merci d'avance.

Spyro666 contre le 555
A voir également:

9 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
5 sept. 2006 à 11:13
Salut,
il suffit rajouter IGNORE après le INSERT et ça ignorera toutes les requêtes qui feraient des doublons par rapport une clé primaire ou unique. Reste à  créer une clé primaire ou unique sur les champs que tu veux.
à+

ps : http://dev.mysql.com/doc/refman/5.0/fr/insert.html
1
Rejoignez-nous