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 :
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 trigger est bien enregistré et fonctionnel (la suppression d'un client entre 1 et 10 renvoit bien le message d'erreur)

Le soucis est que sur ma base de données distante, j'ai l'erreur suivante :
#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
en plus la config n'est pas la même : MySQL v5.1.39-1 et phpMyAdmin 3.4.8

là, je sèche complet.
Où est mon erreur de syntaxe ?

Merci.

Cdt,

Laurent