2016-07-20 2 views
-1

У меня есть этот код для запуска:сделать триггер, который копирует новые данные из таблицы в другую таблицу после вставки

CREATE TRIGGER `insert_after` AFTER INSERT ON `hyk50_0001` 
    FOR EACH ROW BEGIN 
    INSERT INTO hyk50_0001_copy(Fecha) 
    SELECT Fecha FROM hyk50_0001 
END; 

, но не работает, он говорит синтаксическая ошибка, но я не видел его

Я использую Navicat. И hyk50_0001_copy это идентичная копия hyk50_0001. Целью является принять новый ряд hyk50_0001 и ВСТАВКА в hyk50_0001_copy

Я хочу, чтобы поставить все базы данных, но если она не работает только значение не может прогрессировать.

+0

Показать полное определение триггера. Одна из распространенных проблем заключается в том, что 'delimiter' установлен неправильно. –

+0

Я не вижу 'delimiter', потому что программа не показывает, у меня есть только этот код. И селектор события и ПОСЛЕ или ПЕРЕД. Я очень новичок в триггерах. – Brecht

+0

Извините, на самом деле я нашел код, созданный программой. – Brecht

ответ

0

Я не вижу ошибку синтаксиса, но я предполагаю, что вы намерены:

DELIMITER $$ 
CREATE TRIGGER `insert_after` AFTER INSERT ON `hyk50_0001` 
    FOR EACH ROW 
BEGIN 
    INSERT INTO hyk50_0001_copy(Fecha) 
     VALUES (new.Fecha) 
END;$$ 

DELIMITER ; 

То есть, вы, вероятно, хотите вставить только строку, которая была только что создали.

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