我在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;
|
答案 0 :(得分:5)
我会投入大量资金作为调用者,但是来自http://bugs.mysql.com/bug.php?id=5861:
SQL标准说:“触发的操作始终在下执行 包含触发器的架构所有者的授权。“这意味着 在MySQL中我们应该在用户的授权下执行触发器体 创建了触发器,而不是发出调用此触发器的语句的那个。
道歉,我认为这是一个显而易见的问题: - (此致
编辑:user()给出调用者