2012-04-12 135 views
2

我試圖創建一個觸發器,插入表後將數據插入到不同的表中。但顯示語法錯誤,我不知道哪裏是錯誤:插入後觸發sql

CREATE TRIGGER insertDumpData ON users 
FOR INSERT 
AS 
BEGIN 
    INSERT INTO attachments ("1", "sds", "hi"); 
END; 

回答

4

哦我看你正在嘗試MySQL上的SQL Server語法。 試試這個:

delimiter | 

CREATE TRIGGER insertDumpData BEFORE INSERT ON users 
    FOR EACH ROW BEGIN 
     INSERT INTO attachments values ('1', 'sds', 'hi'); 
    END; 
| 
+0

感謝,但仍然出現錯誤「#1064 - 你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊爲正確的語法使用附近'ON用戶' – 2012-04-12 11:26:22

+0

看到我的編輯,我改變了語法 – Diego 2012-04-12 11:30:52

+0

是的,我很抱歉!現在沒有任何錯誤,但表格爲零行..我試圖插入沒有觸發器,它在哪個表上工作 – 2012-04-12 11:59:26

1

不要忘記添加一個分隔符周圍

delimiter | 
CREATE TRIGGER insertDumpData ON users 
    ... 
    INSERT INTO attachments select "1", "sds", "hi"; 
    ... 
| 

和迭戈在他的回答中提到的步驟:糾正你插聲明。

0

失蹤「價值」

CREATE TRIGGER insertDumpData ON users 
FOR INSERT 
AS 
BEGIN 
    INSERT INTO attachments values ("1", "sds", "hi"); 
END; 
+0

這是一個SQL Server語法 – Diego 2012-04-12 12:23:55