我想在MySQL中创建一个触发器,它可以过滤并记录SQL语句(如所有更新),并将SQL语句写入另一个表(VARCHAR)中的列。 MySQL中是否有一个提供当前SQL语句字符串的变量或函数?
答案 0 :(得分:0)
问:MySQL中是否有提供当前SQL语句字符串的变量或函数?
答:不,没有变量或函数(或任何内置机制)允许MySQL TRIGGER的主体检索导致触发器被触发的语句的SQL文本(当前正在执行的语句)。 / p>
触发器正文中的SHOW FULL PROCESSLIST
也不会得到它;返回中显示的SQL将显示获取进程列表的语句。 (如果我们想使用SHOW FULL PROCESSLIST
来获取SQL,则必须来自单独的会话。并且没有内置机制可以在TRIGGER的主体内实现。