Salut,
Localement, je suis avec une configuration MySQL v5.5.9 et phpMyAdmin 3.3.9.1.
J'ai programmé un simple trigger interdisant la suppression de compte clients dont les ID sont entre 1 et 10 :
le trigger est bien enregistré et fonctionnel (la suppression d'un client entre 1 et 10 renvoit bien le message d'erreur)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 delimiter // CREATE TRIGGER delete_forbidden BEFORE DELETE ON osc_customers FOR EACH ROW BEGIN DECLARE ERR_INITIAL CONDITION FOR SQLSTATE '12345'; IF ((SELECT customers_id FROM osc_customers WHERE customers_id = OLD.customers_id) BETWEEN 1 AND 10 ) THEN SIGNAL ERR_INITIAL SET MESSAGE_TEXT = 'Permission denied : this customer can not be deleted'; END IF; END// delimiter ;
Le soucis est que sur ma base de données distante, j'ai l'erreur suivante :
en plus la config n'est pas la même : MySQL v5.1.39-1 et phpMyAdmin 3.4.8#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ERR_INITIAL SET MESSAGE_TEXT = 'Permission denied : this customer can not be del' at line 7
là, je sèche complet.
Où est mon erreur de syntaxe ?
Merci.
Cdt,
Laurent
Partager