requête mysql : insert into where exists ? - SQL/NoSQL - Programmation
Marsh Posté le 31-10-2008 à 19:53:18
euh, insert select select select?? t'es sur de toi là? ta syntaxe me parait particulièrement étrange
Marsh Posté le 31-10-2008 à 19:56:36
lol pardon pour le mauvais copier coller!
INSERT INTO vote(note,date_vote,id_theme) VALUES (
3,
CURDATE(),
SELECT id FROM theme WHERE CODE='1')
WHERE EXISTS(SELECT * FROM theme t2 WHERE t2.CODE='1')
Marsh Posté le 31-10-2008 à 19:58:56
pourquoi tu as deux where??
et ton exists sert à rien...
Code :
|
Marsh Posté le 31-10-2008 à 20:01:45
car avec ta requête l'insertion se fera (ou pas avec ma contrainte not null) si le code n'existe pas.
Non ? je voudrais éviter l'insert si CODE n'existe pas, avec une seule requête.
Edit : Ca y est je comprends, ta syntaxe marche car le select ne retourne rien et donc il n'y a aucun insert de réalisé. Tout simplement.
Merci beaucoup. Conclusion : avant de se prendre la tête et chercher compliqué, commencer par un code simple !
Marsh Posté le 31-10-2008 à 20:17:59
___ a écrit : |
voilà
Marsh Posté le 31-10-2008 à 19:48:09
Bonjour,
je ne comprends pas où est l'erreur de ma requête :
Je souhaite insérer un ligne dans vote qui fait réference à un theme dont je connais le code. Uniquement si ce code existe (WHERE EXISTS).
J'ai tenté plusieurs requêtes dans ce style, sans succès !
Pouvez-vous m'aider ?
Merci
Message édité par ___ le 31-10-2008 à 19:51:57