範圍:兩個表。當一個新的顧客被創建時,他們有一些關於他們的信息被存儲到第二個表中(這也是使用觸發器完成的,它按預期工作)。這是我的表格結構和關係的一個例子。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