在MySQL5.6.27中创建触发器时出现奇怪的错误

rxztt3cl  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(298)

这个问题在这里已经有了答案

无法在5.1.32上创建具有触发器权限的mysql触发器(1个答案)
两年前关门了。
嗨,伙计们,我试图在我的数据库的一个表中创建这个简单的触发器,但由于某种原因,我得到了这个奇怪的错误。我已经查过了,但还没有找到解决这个问题的办法。有人能帮我吗?谢谢。

DELIMITER $$

CREATE DEFINER=CURRENT_USER TRIGGER `dataset`.`student_BEFORE_DELETE` BEFORE 
DELETE ON `student` 
FOR EACH ROW
BEGIN
delete from student_grades where std_id = old.student_id;
END
$$

DELIMITER ;

错误:

ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
xeufq47z

xeufq47z1#

mysql引擎说用户需要更多的特权来执行。这是因为创建一些修改表的触发器(如“delete”)将在执行时被记录(请参阅此处存储程序的二进制记录的更多信息)
其中一个解决方案是在链接内部,简而言之,您可以在创建触发器之前执行此命令

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

但也许您需要一些特权来更改mysql上的全局var。

相关问题