将 MySQL 触发器连接到特定的 MySQL 用户
Connect MySQL trigger to a specific MySQL user
这个问题在不同的来源有不同的回答,所以我得用Whosebug核实一下。
我的 MySQL 数据库中有两个用户:database_admin
和 database_user
我写了一个触发器:
delimiter //
create trigger super_trigger...
delimiter;
如何让它只对 database_admin
有效,而不对 database_user
有效
这一定类似于在该触发器上向特定用户授予权限,您可以使用此语法来执行此操作。我正在将所有权限分配给用户 abc(从任何位置访问 %)在触发器上一个数据库。
grant all on databaseName.TriggerName to abc@'%';
flush privileges;
您需要将逻辑放入触发器中:
CREATE TRIGGER super_trigger ...
FOR EACH ROW
IF USER() LIKE 'database_admin@%' THEN
...
END IF;
USER() 函数 returns 执行了调用触发器的语句的用户。
这个问题在不同的来源有不同的回答,所以我得用Whosebug核实一下。
我的 MySQL 数据库中有两个用户:database_admin
和 database_user
我写了一个触发器:
delimiter //
create trigger super_trigger...
delimiter;
如何让它只对 database_admin
有效,而不对 database_user
这一定类似于在该触发器上向特定用户授予权限,您可以使用此语法来执行此操作。我正在将所有权限分配给用户 abc(从任何位置访问 %)在触发器上一个数据库。
grant all on databaseName.TriggerName to abc@'%';
flush privileges;
您需要将逻辑放入触发器中:
CREATE TRIGGER super_trigger ...
FOR EACH ROW
IF USER() LIKE 'database_admin@%' THEN
...
END IF;
USER() 函数 returns 执行了调用触发器的语句的用户。