如何以正确的方式触发此SQL查询?

时间:2017-05-01 12:25:43

标签: mysql sql database

这是我的问题:

  

创建一个触发器,它将添加已删除行的id和age列   从表格"元数据"到#34; metadata2"表。

将运行以检查触发器是否有效的查询是: DELETE FROM metadata WHERE ID=40124197; SELECT * FROM metadata2

那么,我做了什么?我这样做了:

CREATE TRIGGER somerandomtrigger
AFTER INSERT ON metadata2
FOR EACH ROW
BEGIN
INSERT INTO metadata2 (id, age)
END

然而它一直在说:Query failed: near "END": syntax error,但我不明白为什么。

1 个答案:

答案 0 :(得分:3)

似乎你在worng表上使用了错误的事件触发器。

从元数据表中删除记录时,您希望将此记录中的一些数据插入metadata2。

在删除触发器上,有一个名为OLD的MySQL管理的记录,其中包含已删除的记录。

CREATE TRIGGER somerandomtrigger
AFTER DELETE ON metadata
FOR EACH ROW
BEGIN
INSERT INTO metadata2(id, age) VALUES (OLD.id, OLD.age);
END;

Syntax and examples of MySQL trigger