2016-01-09 3 views
2

Я хочу вставить информацию из carti в domeniu, но я получаю сообщение об ошибке.Ошибка триггера в mysql

CREATE TRIGGER trigger_UpdateItemDetails ON carti 
FOR INSERT AS 
BEGIN 

INSERT INTO 
domeniu 
(
    cod_d, 
    materia, 
    result 
) 
SELECT 
    id 
    domeniu 
    nr_exemplare 
FROM 
    carti 
END 

Сообщение об ошибке: # 1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверить инструкцию, которая соответствует вашей версии сервера MySQL для правого синтаксиса использовать вблизи «ON результат ДЛЯ ВСТАВКИ КАК НАЧАТЬ INSERT INTO domeniu (» в строке 1

+0

Опубликовать сообщение об ошибке. – Rahul

ответ

1

Проблема FOR INSERT AS. Он должен BEFORE INSERT AS. Проверить . MySQL Documentation для CREATE TRIGGER синтаксиса Похоже, вы перепутали SQL Serer синтаксис For Trigger является синтаксис MSSQL

CREATE 
    [DEFINER = { user | CURRENT_USER }] 
    TRIGGER trigger_name 
    trigger_time trigger_event 
    ON tbl_name FOR EACH ROW 
    [trigger_order] 
    trigger_body 

trigger_time: { BEFORE | AFTER } 

trigger_event: { INSERT | UPDATE | DELETE }