cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007
-
5 sept. 2006 à 09:39
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 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.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 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.
à+
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007 5 sept. 2006 à 14:54
Non puisque en fait ce que j'insère ce sont des mots pour un pendu en php et c'est le mot qui est unique du coup une mise à jour de la manière d'écrire le mot n'aurait aucun sens vu qu'elle est censée être tout le temps la même ;)
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007 5 sept. 2006 à 19:04
Bon je vais faire une petite notation générale.
Note générale pour la communauté :
Rapidité de réponse : 2 min : S
Pertinence des réponses : 90 % (toutes les soluces me permettaient de venir à bout de mon problème) : A
Temps jusqu'à la bonne réponse : 1h30 : S