Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL 5.6.27中创建触发器时出现奇怪的错误_Mysql_Sql_Triggers - Fatal编程技术网

在MySQL 5.6.27中创建触发器时出现奇怪的错误

在MySQL 5.6.27中创建触发器时出现奇怪的错误,mysql,sql,triggers,Mysql,Sql,Triggers,嗨,伙计们,我正试图在我的一个数据库表中创建这个简单的触发器,但由于某种原因,我得到了这个奇怪的错误。我已经搜索过了,但还没有找到解决这个问题的方法。有人能帮我吗?谢谢 DELIMITER $$ CREATE DEFINER=CURRENT_USER TRIGGER `dataset`.`student_BEFORE_DELETE` BEFORE DELETE ON `student` FOR EACH ROW BEGIN delete from student_grades where

嗨,伙计们,我正试图在我的一个数据库表中创建这个简单的触发器,但由于某种原因,我得到了这个奇怪的错误。我已经搜索过了,但还没有找到解决这个问题的方法。有人能帮我吗?谢谢

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)

MySQL引擎表示,用户需要比执行权限更多的权限。这是因为创建一些修改表的触发器(如“delete”)将在执行时记录(请阅读此处的更多信息)

其中一个解决方案在链接内部,简而言之,您可以在创建触发器之前执行此命令

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

但是,您可能需要一些权限来更改MySQL上的全局变量。

“出于某种原因”-错误消息已经告诉您原因。我建议您使用InnoDB引擎和foreiyn键,并在DELETE CASADE上使用
。它做同样的事情,但比触发器更好。