Trigger ne fonctionne pas
Bonjour,
On fait un exercice en classe et ça me prend la tête car la même syntaxe fonctionne chez tout le monde, sauf chez moi :)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE DEFINER=`root`@`localhost` TRIGGER before_insert_client BEFORE INSERT
ON agenda_en_ligne.client FOR EACH ROW
BEGIN
IF NEW.genre IS NOT NULL
AND NEW.genre != '1'
AND NEW.genre != '2'
AND NEW.genre != '3'
THEN
SET NEW.genre = '1';
END IF;
set new.date_creation=now();
END |
Donc théoriquement, si le NEW.genre est différent de 1, 2 ou 3, il le set à 1.
Sauf que j'ai ce message d'erreur systématiquement:
Citation:
Array ( [0] => HY000 [1] => 1366 [2] => Incorrect integer value: 'j' for column 'genre' at row 1 )
Si vous pouviez m'aider.
Merci
A savoir qu'on ne voit pas le delimiter dans ce code. Voici le code que j'ai entré lorsque j'ai créé le trigger
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
DELIMITER |
CREATE TRIGGER before_insert_client BEFORE INSERT
ON agenda_en_ligne.client FOR EACH ROW
BEGIN
IF NEW.genre IS NOT NULL
AND NEW.genre != '1'
AND NEW.genre != '2'
AND NEW.genre != '3'
THEN
SET NEW.genre = '1';
END IF;
set new.date_creation=now();
END |
DELIMITER ; |