Mysql insert into

Résolu/Fermé
droan1512 Messages postés 115 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 14 avril 2015 - Modifié par droan1512 le 29/02/2012 à 09:05
droan1512 Messages postés 115 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 14 avril 2015 - 29 févr. 2012 à 10:05
Bonjour,

alors j aimerais savoir comment faire pour inséré dans une table seulement si l'enregistrement n'existe pas

Si vous avez des idées merci.

j essaye avec cette ligne mais sans résultat

insert into ids_message(text,num_type) values ("coucou erreur",589) where not exists(select text,num_type from ids_message where STRCMP(text,'coucou erreur') AND num_type = 589);



4 réponses

Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
29 févr. 2012 à 09:05
Salut,

Tu veux le faire en sql ? Si oui tu peux faire un INSERT classique et dans la condition tu rajoutes une condition NOT EXISTS.
Ce qui donnerais grosso-modo
INSERT INTO ta_table(champ1,champ2...) SELECT champ, autrechamp from table
WHERE NOT EXISTS ( Select champ1,champ2 from ta_table where champ = champ1 and autrechamp = champ2)


En gros un petit quelque chose comme ça devrait fonctionner.
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
29 févr. 2012 à 09:09
Tu as édité quand j'ai posté mon message... :D

Ta requêtes génère une erreur ou rien ne se passe ?
0
droan1512 Messages postés 115 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 14 avril 2015 5
29 févr. 2012 à 09:24
et bien elle génère une erreur j'ai essayer avec différente syntaxe en me disant que c'étais l'espace dans ma chaîne qu'il n'aimait pas mais c'est pas sa je cherche toujours.
0
droan1512 Messages postés 115 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 14 avril 2015 5
29 févr. 2012 à 09:24
j'ai aussi essayer de avec un strcmp ou LIKE mais il s'obstine XD
0
droan1512 Messages postés 115 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 14 avril 2015 5
29 févr. 2012 à 09:32
en faite je crois comprendre un trucs j'utilise pas un insert into trucs select ....
mais un insert into trucs values
peut être que le where n'est pas pris en compte dans cette forme...
et je doit pourtant l'utiliser puisque c'est pour passer des valeurs d'une bdd a une autre en pansant par un script bash
0
droan1512 Messages postés 115 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 14 avril 2015 5
29 févr. 2012 à 10:05
Bon par souci de ne pas perdre trop de temps dans mon développement j'ai décidé de passer par deux requêtes :
la première :
elle fais un select de ma table avec une condition where et mes valeur à tester que je stock dans une variable.
si la requête retourne un résultat alors je n'exécute pas mon insert
sinon si elle est vide j'exécute mon insert

Voila voila une alternative peux optimisé mais qui fonctionne

si toute fois vous avez de meilleur solution dite le moi

0