大家好,我正在尝试在数据库表之一中创建此简单触发器,但由于某种原因,我遇到了这个奇怪的错误。我已经搜索过,但是没有找到解决此问题的方法。有人能帮我吗?谢谢。
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)
答案 0 :(得分:0)
MySQL引擎说用户需要比执行更多的特权。这是因为创建某些修改表的触发器(作为“删除”)将在执行时记录(在此处Binary Logging of Stored Programs
中了解更多信息)其中一种解决方案是链接内,简而言之,您可以在创建触发器之前执行此命令
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
但是也许您需要一些特权才能在MySQL上更改全局变量。