범위 : 두 테이블. 새로운 후원자가 만들어지면 두 번째 테이블에 저장된 정보가 있습니다 (이는 트리거를 사용하여 수행 한 것으로 예상대로 작동 함). 다음은 내 테이블 구조 및 관계의 예입니다.MySQL 트리거 : 테이블에서 삭제 후 삭제
표 1>후원자
+-----+---------+-----+
+ id + name + val +
+=====+=========+=====+
+ 37 + george + x +
+-----+---------+-----+
+ 38 + sally + y +
+-----+---------+-----+
표 2-
+----+-----+----------+
+ id + pid + name +
+----+-----+----------+
+ 1 + 37 + george +
+----+-----+----------+
+ 2 + 38 + sally +
+----+-----+----------+
관리자 patron_info>는 후원자를 관리 할 수 있습니다. 그들이 후원자를 제거하기로 결정하면 후원자는 테이블 1patrons
에서 제거됩니다. 이 시점에서 아무런 변화가 없습니다 표 2patron_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
를 얻을. 나는이 시점에서 오류가 무엇인지 모른다. 여러 변형을 시도했습니다. 또한 여기서 구분 기호를 사용해야합니까?
누구든지 나의 정신을 회복하는데 도움이 될 수 있습니까?
여기에 어떤 도움이 필요하십니까? 진짜 질문은 뭐니? –
@vivek_jonam 삭제 트리거가 실행되지 않습니다. 그것은 나에게 줄 6에서 '끝'에 sytnax 오류를 준다. 또한 이것을 DELIMETER $$로 감싼다? – Ohgodwhy
@Ohgodwhy : memcache 질문에 대한 메모 - 추가 한 후에 만 링크되었습니다. 내가 그것을하기 전에 그것은 "관련"에서 아니오였습니다. – zerkms