范围:两个表。当一个新的顾客被创建时,他们有一些关于他们的信息被存储到第二个表中(这也是使用触发器完成的,它按预期工作)。这是我的表格结构和关系的一个例子。MySQL触发器:从表中删除后删除
表1->惠顾
+-----+---------+-----+
+ id + name + val +
+=====+=========+=====+
+ 37 + george + x +
+-----+---------+-----+
+ 38 + sally + y +
+-----+---------+-----+
表2 - >patron_info
+----+-----+----------+
+ id + pid + name +
+----+-----+----------+
+ 1 + 37 + george +
+----+-----+----------+
+ 2 + 38 + sally +
+----+-----+----------+
管理员可以管理惠顾。当他们选择移除顾客时,该顾客从表1patrons
移除。在这一点上,表2patron_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: Check syntax near END on line 6
。我不知道这个错误是什么。我尝试了几种不同的变化。另外,我需要在这里使用分隔符吗?
任何人都可以帮助恢复我的理智?
你需要什么帮助?你真正的问题是什么? – 2012-08-05 17:06:06
@vivek_jonam删除触发器不会触发。它在第6行给我一个'END'的sytnax错误。另外,我是否将它包装在'DELIMETER $$'中? – Ohgodwhy 2012-08-05 17:07:23
@Ohgodwhy:只是关于memcache问题的一个说明 - 它只在我添加它后才被链接。在我做到这一点之前,“相关”是没有的。 – zerkms 2014-05-13 02:16:29