Я пытаюсь создать триггер для вставки новой строки условно на основе вставки в другой таблице ... Я не могу прикрыть синтаксис. Вот то, что я до сих пор:Триггер mysql не работает?
DELIMETER $$
CREATE TRIGGER overPricedCar
AFTER INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000')THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
END IF;
END$$
DELIMETER ;
По какой-то причине, я получаю сообщение об ошибке, они синтаксически, кажется, хорошо, я не знаю, где я, возможно, не так.
EDIT
После устранения опечатки, триггер 'работает'.
Я добавил комментарий для вывода при срабатывании триггера. я испытал его, и выходное сообщение печатается на экране, но триггер не на самом деле завершения вставки:
DELIMITER $$
CREATE TRIGGER overPricedCar
BEFORE INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000')THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "New Gold car!"; // this line throws it off
END IF;
END$$
DELIMITER ;
Где можно разместить сообщения, которые я хочу быть выведен на экран, когда этот триггер запускается ?
и ошибка ?? – jcho360
@ jcho360 # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи «разделителей $$ CREATE TRIGGER overPricedCar ПОСЛЕ ВСТАВИТЬ на автомобилях ДЛЯ КАЖДОЙ ROW B» в строке 1 – shnozolla
что ошибка? –