我想在 MySQL 中创建一个触发器,它可以过滤并记录 SQL 语句(如所有更新),并将 SQL 语句写入另一个表 (VARCHAR) 中的列。 MySQL中有没有提供当前SQL语句字符串的变量或函数?
最佳答案
问:MySQL中有没有提供当前SQL语句字符串的变量或函数?
答:不,没有变量或函数(或任何内置机制)允许 MySQL TRIGGER 的主体检索导致触发器被触发的语句(当前正在执行的语句)的 SQL 文本。
触发器正文中的 SHOW FULL PROCESSLIST
也不会得到它;返回中显示的 SQL 将显示获取进程列表的语句。 (如果我们想使用 SHOW FULL PROCESSLIST
来获取 SQL,则必须来自单独的 session 。并且没有内置机制可以从触发器的主体。
关于mysql - 当前SQL语句是否有MySQL变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48713904/