Mysql: INSERT IF NOT EXISTS
Résolu
developper55
Messages postés
130
Statut
Membre
-
developper55 Messages postés 130 Statut Membre -
developper55 Messages postés 130 Statut Membre -
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
- Disk boot failure insert system disk and press enter - Guide
- Signal cable not connected ✓ - Forum Ecran
- Touche insert sur clavier portable hp ✓ - Forum Clavier
- Pas de touche insert sur mon clavier - Forum Clavier
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