2013-01-09 127 views
0

我想在我的sql中創建一個觸發器,但是當我編寫下面的代碼時,頁面會一直加載,並且不顯示任何輸出。 我的代碼是: -觸發器不能正常工作

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

是否在您的Mysql中啓用Rollback?如果這是你需要正確的查詢來拒絕回滾 –

+0

既然你已經指定你在使用PHP,你的PHP代碼是什麼樣的? – SDC

+0

ya回滾被激活 –

回答

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; 

確保定界符更改爲某些符號LIK $$。因爲默認的分隔符是;