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