【问题标题】:MySQL: trigger/delimiter without SUPERMySQL:没有 SUPER 的触发器/分隔符
【发布时间】:2011-11-23 03:37:12
【问题描述】:

正在尝试运行此 SQL:

DELIMITER $$

CREATE TRIGGER crypt_f
BEFORE INSERT ON c_data_test
FOR EACH ROW
BEGIN
UPDATE c_data_test
SET f_id = ENCRYPT(f_id, 'key');
END$$

DELIMITER ;

给出这个错误:

错误 1227 (42000):访问被拒绝;您需要此操作的 SUPER 权限

我们的主机不允许我们进行超级访问。如何创建此触发器?

【问题讨论】:

    标签: mysql permissions triggers


    【解决方案1】:

    您必须让主机的 DBA 为您运行触发器创建语句。 MySQL 的最新版本允许非 SUPER 用户创建触发器(MySQL 5.1.6 和更高版本)。但是,如果启用二进制日志记录,您仍然需要 SUPER 权限。

    所以首先,请仔细检查 MySQL 运行的版本,如果它的 MySQL 5.1.6 或更高版本并且二进制日志记录已关闭,请向主机 DBA 请求 TRIGGER 权限,否则您必须要求 DBA 创建为你触发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 2013-06-23
      • 2014-08-03
      • 1970-01-01
      • 2011-03-29
      • 2021-06-30
      相关资源
      最近更新 更多