I have to execute a mySQL query according to the result of this one :
(SELECT EXISTS(SELECT type_requete FROM requete_groupe WHERE id_requete='1'))
It returns 1 if the line exists and 0 otherwise. I need to execute a query for each of these two cases, for this I used several methods :
SELECT @mycheck := (SELECT EXISTS(SELECT type_requete FROM requete_groupe WHERE id_requete='1')),
CASE
WHEN @mycheck = '1' THEN (
UPDATE requete
INNER JOIN requete_groupe ON requete.id = requete_groupe.id
SET requete.requete='example'
WHERE requete_groupe.type_requete='2');
WHEN @mycheck = '0' THEN (
INSERT INTO requete (requete)
VALUES ('example');
);
END CASE;
or
IF(SELECT EXISTS(SELECT type_requete FROM requete_groupe WHERE id_requete='1')) = 1
THEN
(UPDATE requete INNER JOIN requete_groupe ON requete.id = requete_groupe.id SET requete.requete='example' WHERE requete_groupe.type_requete='2')
ELSE
(INSERT INTO requete (requete) VALUES ('example'))
END IF
But each time there is a mySQL syntax error, no matter how hard I look I can't find the error, someone would know?
Aucun commentaire:
Enregistrer un commentaire