范围:两张桌子.当一个新的顾客创建时,他们有一些关于它们存储在第二个表中的信息(这也是使用一个触发器,它的工作原理).这是我的表结构和关系的一个例子.
表1->食客
+-----+---------+-----+
+ id + name + val +
+=====+=========+=====+
+ 37 + george + x +
+-----+---------+-----+
+ 38 + sally + y +
+-----+---------+-----+
表2 – > patron_info
+----+-----+----------+
+ id + pid + name +
+----+-----+----------+
+ 1 + 37 + george +
+----+-----+----------+
+ 2 + 38 + sally +
+----+-----+----------+
管理员可以管理顾客.当他们选择删除顾客时,顾客从桌子1的顾客身上取下.在这一点上,表2 patron_info什么也没有.
我只是试图创建一个从表2删除的触发器,当表1中有一个项删除.这是我试过的
最初,我试图放下触发器,如果它存在(只是为了清除空气)…
DROP TRIGGER IF EXISTS log_patron_delete;
然后我尝试创建触发器…
CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
DELETE FROM patron_info
WHERE patron_info.pid = patrons.id
END
在这一点上,我得到一个语法错误1046:检查第6行END附近的语法.我不知道这是什么错误.我尝试了几种不同的变体.此外,我需要在这里使用分隔符吗?
任何人都有帮助恢复我的理智?