gpt4 book ai didi

mysql - 在触发器中使用 mysql 用户

转载 作者:可可西里 更新时间:2023-11-01 07:05:48 25 4
gpt4 key购买 nike

我正在 MySQL 中创建一个触发器,让我知道谁(哪个 mysql 用户)正在对特定表进行更新。

我知道 MySQL 有一个函数 CURRENT_USER(),但是它是在创建触发器时插入用户名,还是在调用触发器时插入用户名?

到目前为止,这是我的触发器。我想在“内容”列中插入用户名。

delimiter |
CREATE TRIGGER update_product_procedure
BEFORE UPDATE ON product_procedure
FOR EACH ROW BEGIN
INSERT INTO trigger_logs SET
content = 'This is a test', postDate=NOW();
END;
|

最佳答案

作为调用者,我会花很多钱,但来自 http://bugs.mysql.com/bug.php?id=5861 :

SQL 标准说:“触发的操作总是在以下条件下执行包含触发器的架构所有者的授权。”这意味着在 MySQL 中,我们应该在用户 who 的授权下执行触发器主体创建了触发器,而不是发出调用此触发器的语句的人。

抱歉,我认为这是一个显而易见的问题:-(

问候

编辑:user() 给调用者

关于mysql - 在触发器中使用 mysql 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1766320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com