2013-01-09 2 views
0

My SQL에서 트리거를 만들려고하지만 아래 코드를 작성할 때 페이지가 계속로드되고 출력이 표시되지 않습니다. 내 코드는 다음과 같습니다 -트리거가 작동하지 않습니다.

DELIMITER$$ 
CREATE TRIGGER `tutorial`.`before_delete_books` 
    BEFORE DELETE ON `books` FOR EACH ROW 
    BEGIN 
     SELECT * FROM role; 
    END $$ 
DELIMITER; 
+0

롤백이 ur mysql에서 활성화 되었습니까? 롤백을 거부하는 쿼리가 필요하다면 –

+0

PHP로 작업하고 있다고 지정 했으므로 PHP 코드는 어떻게 생겼을까요? – SDC

+0

나중에 롤백이 활성화되었습니다. –

답변

0

예는 마침내 난 내 자신의 질문에 대한 해결책을 발견 ........ 트리거를 실행하기 전에 보는 실제로 몇 가지 기준이 있습니다 . 1. 실행중인 데이터 테이블은 Innodb 엔진이어야합니다. 만약 innodb가이 쿼리를 작성하여 그것을 변경하지 않는다면.

ALTER TABLE table_name ENGINE = InnoDB; 

확인 구문은 올바른 구문은

create trigger trigname after insert on lib_db.books 
for each row 
insert into role(role_id,role) values(5,'sometext'); 
end; 

가 분리 문자가 몇 가지 기호 사장님의 $$로 변경되어 있는지 확인합니다. 기본 delimeter는;

관련 문제