2013-10-24 2 views
0

я получил проблему здесь, в MYSQL я есть:Вставить в триггер

1-таблица называется «норте» имеет столбец под названием «Nortel» 2-таблица под названием «Bitácora» имеет столбец под названием " Telefono»

им сделать триггер для копирования этой информации, например, когда я что-то добавить к„норту“стол я хочу, чтобы автоматически копируются в Bitácora таблицу, я не знаю, что я делаю неправильно here's моего триггер

CREATE TRIGGER insertar AFTER INSERT ON norte 
FOR EACH ROW 
BEGIN 
INSERT INTO bitacora SET telefono = NEW.nortel 
END; 

проблема заключается в том, что она говорит об отсутствии d END ожидает ';'

но если я удалить "END" он говорит

CREATE TRIGGER insertar AFTER INSERT ON norte 
FOR EACH ROW 
BEGIN 
INSERT INTO bitacora SET telefono = NEW.nortel; 

Неожиданное END_OF_INPUT ожидающей ';'

ответ

1

Вы должны изменить разделитель.

delimiter | 
CREATE TRIGGER insertar AFTER INSERT ON norte 
FOR EACH ROW 
BEGIN 
    INSERT INTO bitacora (telefono) values (NEW.nortel); 
END 
| 
delimiter ; 

В противном случае DB считает, что триггер оператор заканчивается на первом ; и тогда было бы неполным.

0

вам не хватает ";" после NEW.nortel:

Оно должно быть:

CREATE TRIGGER insertar AFTER INSERT ON norte 
FOR EACH ROW 
BEGIN 
    INSERT INTO bitacora SET telefono = NEW.nortel; 
END; 

sqlfiddle demo

+0

Thx для вашего; помогите, я использовал первый ответ, и кажется, что он сработал anyways thx как для ответа на меня :) ИМЕЮТ БОЛЬШОЙ ДЕНЬ –

Смежные вопросы