Не могу создать триггер

265
26 ноября 2016, 20:24

Добрый день. Есть таблица:

CREATE TABLE buffer (
    id INT PRIMARY KEY AUTO_INCREMENT,
    ad_type varchar(20),
    price varchar(20),
    description varchar(1000),
    params varchar(500),
    image varchar(300),
    ins_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

А также таблица источник tbl_temp с полями type, price, comments, house, level, photo. Пытаюсь сделать триггер:

CREATE TRIGGER 'update_tbl' AFTER INSERT ON 'tbl_temp'
FOR EACH ROW 
BEGIN
    INSERT INTO buffer SET ad_type = NEW.type, price = REPLACE(NEW.price, 'руб.',''), description = NEW.comments, ad_params = CONCAT(NEW.house, ' ', level), image = NEW.photo
END;

Получаю ошибку:

ERROR 1064 (42000): 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 ''update_tbl' AFTER INSERT ON 'tbl_temp'
FOR EACH ROW 
BEGIN
    INSERT IN' at line 1

Я понял, что ошибка в INSERT, но вот где именно так и не разобрался. Не могли бы вы помочь?
Спасибо!

Answer 1

Вся проблема была в BEGIN и END. Убрал их и триггер создался

READ ALSO
многострочный INSERT

многострочный INSERT

Есть некоторый массив данных:

373
не получается добавить колонку в конец таблицы mysql

не получается добавить колонку в конец таблицы mysql

подскажите пожалуйста, я в mysql совсем зелёный еще, мне в созданную таблицу нужно добавить колонку timestampпишу вот такой запрос:

449
Как зафиксировать команду в консоли MySQL?

Как зафиксировать команду в консоли MySQL?

Вошёл в консоль mysql под пользователемКоманда:

305