我在MySQL中创建一个触发器让我知道WHO(哪个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;
|
Run Code Online (Sandbox Code Playgroud)
作为调用者,我会投入大量资金,但是来自http://bugs.mysql.com/bug.php?id=5861:
SQL标准说:"触发操作总是在包含触发器的架构所有者的授权下执行." 这意味着在MySQL中我们应该在创建触发器的用户的授权下执行触发器主体,而不是发出调用此触发器的语句的人.
道歉,我认为这是一个显而易见的问题:-(
问候
编辑:user()给调用者
| 归档时间: |
|
| 查看次数: |
4966 次 |
| 最近记录: |