Mysql: INSERT IF NOT EXISTS
Résolu
developper55
Messages postés
123
Date d'inscription
Statut
Membre
Dernière intervention
-
developper55 Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
developper55 Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai mysql version 2.9.1.1, phpmyadmin, php5
et j'ai besoin d'insérer une lignes de deux valeurs dans une table sachant que ces deux valeurs n'existent pas dans la même ligne,
INSERT INTO `listedemachoix` ( `index_listechoix` , `index_gens` , `index_formule`) VALUES ( NULL ,'17', '19') WHERE NOT EXISTS ( SELECT * FROM listedemachoix WHERE index_gens='17' AND index_formule='19')
ça donne d'erreur au niveau "WHERE NOT EXISTS ",
mais j'ai essayé avec count(*)
tous les idées sont les biens venues
Merci
J'ai mysql version 2.9.1.1, phpmyadmin, php5
et j'ai besoin d'insérer une lignes de deux valeurs dans une table sachant que ces deux valeurs n'existent pas dans la même ligne,
INSERT INTO `listedemachoix` ( `index_listechoix` , `index_gens` , `index_formule`) VALUES ( NULL ,'17', '19') WHERE NOT EXISTS ( SELECT * FROM listedemachoix WHERE index_gens='17' AND index_formule='19')
ça donne d'erreur au niveau "WHERE NOT EXISTS ",
mais j'ai essayé avec count(*)
tous les idées sont les biens venues
Merci
A voir également:
- Mysql insert if not exists
- Insert if not exists - Meilleures réponses
- Insert if not exist - Meilleures réponses
- Touche insert - Guide
- Signal cable not connected ✓ - Forum Ecran
- Disk boot failure insert system disk and press enter - Guide
- Mysql community server - Télécharger - Bases de données
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
INSERT INTO Table
SELECT I.ID, I.Name
FROM
(
SELECT @ID, @Name
) I
LEFT OUTER JOIN
Table T
ON I.ID = T.ID
WHERE T.ID IS NULL
Cela n'insère que ce qui n'est pas présent dans la Table ciblée, bien entendu on parle là de tables normalisées, avec une PK.
Si tu devais checker d'autres valeurs, il suffirait de les ajouter à la clause ON qui ferait alors tout le boulot pour faire une extraction d'ensembles.
Tu checkes ROW_COUNT() à la sortie, et t'es au top pour savoir si tu dois faire un UPDATE à la place si ROW_COUNT() = 0.
Hope it helps