2013-01-09 90 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 $$。因为默认的分隔符是;