Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在触发器中使用mysql用户_Mysql_Triggers - Fatal编程技术网

在触发器中使用mysql用户

在触发器中使用mysql用户,mysql,triggers,Mysql,Triggers,我正在MySQL中创建一个触发器,让我知道谁(哪个MySQL用户)正在对特定表进行更新 我知道MySQL有一个函数CURRENT_USER(),但它是在创建触发器时插入用户名,还是在调用触发器时插入用户名 到目前为止,这是我的扳机。我想在“内容”列中插入用户名 delimiter | CREATE TRIGGER update_product_procedure BEFORE UPDATE ON product_procedure FOR EACH ROW BEGIN INSERT INT

我正在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;
|

作为调用程序,我会花很多钱,但是:

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

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

问候


编辑:user()向调用者提出了一个有趣的问题。我最初的猜测是,调用者将是调用者,但我会按照问题看真正的答案。谢谢。不用担心。我选择了user(),我不知道它的存在。谢谢你花时间研究。我也不知道user()的情况。很好知道:D可能很明显,但是能够使用当前的_user()获取其权限应用于触发器的用户也是很好知道的。