范围:两张表。创建新顾客时,他们会将一些关于他们的信息存储到第二张表中(这也是使用触发器完成的,它按预期工作)。这是我的表结构和关系的示例。
表 1->顾客
+-----+---------+-----+
+ id + name + val +
+=====+=========+=====+
+ 37 + george + x +
+-----+---------+-----+
+ 38 + sally + y +
+-----+---------+-----+
表 2 ->赞助人信息
+----+-----+----------+
+ id + pid + name +
+----+-----+----------+
+ 1 + 37 + george +
+----+-----+----------+
+ 2 + 38 + sally +
+----+-----+----------+
管理员可以管理读者。当他们选择移除顾客时,顾客从桌子 1 patrons
中移除。此时,表 2 patron_info
没有任何反应。
当表 1 删除了一个项目时,我只是试图创建一个触发器以从表 2 中删除。这是我尝试过的...
最初,如果触发器存在,我会尝试放下触发器(只是为了清除空气)......
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: Check syntax near END on line 6
。我不知道此时错误是什么。我尝试了几种不同的变体。另外,我需要在这里使用分隔符吗?
谁能帮助我恢复理智?