2012-04-12 137 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