Я создал в Mysql верстаке a триггер до вставки в столбце "age", и он работал, но при попытке создать еще один, такой же, как первый в столбце "weight", я получил ошибку. Я написал это:
CREATE DEFINER = CURRENT_USER TRIGGER `bloodbank`.`donor_BEFORE_INSERT_1` BEFORE INSERT ON `donor` FOR EACH ROW
BEGIN
if(new.weight<50)
then
signal sqlstate '02000' set message_text='WEIGHT<50';
end if;
END
, когда я нажимаю кнопку «Применить», мой код преобразуется в это:
DROP TRIGGER IF EXISTS `bloodbank`.`donor_BEFORE_INSERT`;
DELIMITER $$
USE `bloodbank`$$
CREATE DEFINER = `root`@`localhost` TRIGGER `bloodbank`.`donor_BEFORE_INSERT` BEFORE INSERT ON `donor` FOR EACH ROW PRECEDES `donor_BEFORE_INSERT_1`
$$
DELIMITER ;
DROP TRIGGER IF EXISTS `bloodbank`.`donor_BEFORE_INSERT_1`;
DELIMITER $$
USE `bloodbank`$$
CREATE DEFINER = CURRENT_USER TRIGGER `bloodbank`.`donor_BEFORE_INSERT_1` BEFORE INSERT ON `donor` FOR EACH ROW
BEGIN
if(new.weight<50)
then
signal sqlstate '02000' set message_text='WEIGHT<50';
end if;
END$$
DELIMITER ;
, и ошибка, с которой я сталкиваюсь:
Operation failed: There was an error while applying the SQL script to the database.
ERROR 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 '' at line 1
SQL Statement:
CREATE DEFINER = `root`@`localhost` TRIGGER `bloodbank`.`donor_BEFORE_INSERT` BEFORE INSERT ON `donor` FOR EACH ROW PRECEDES `donor_BEFORE_INSERT_1`