有没有人知道在MySQL语句中嵌入注释的方法?当我搜索mysql和评论时,我只能在表格等中添加注释
如果我按照我的老板想要的方式实现这个想法,那就是明确地将用户ID添加到语句中,以便稍后分析MySQL时(通过二进制日志)我们知道谁做了什么。
例:
SELECT id
来自客户
WHERE handle ='JBH'
现在将显示为:
- 用户:jwilkie
SELECT id
来自客户
WHERE handle ='JBH'
(或类似)
编辑CLARITY:原因是我们有与MySQL连接的perl模块,我们通过读取$ ENV {USER}(在本例中为“jwilkie”)来检索用户ID。在这种情况下,我们有一个MySQL用户定义,但有多个人运行perl mod。
有没有人有这方面的经验?非常感谢!简
答案 0 :(得分:5)
通常,在SQL语句记录在二进制日志中之前会删除注释。然而,一个讨厌的解决方法是假装ypur评论包含MySQL未来版本的语法 - 例如。 9.99.99:
/*!99999 user:jwilkie */ insert into tbl values (yyy);
然后这些注释将传递到二进制日志中。
答案 1 :(得分:1)
如果您可以控制正在生成的SQL查询,那么您应该能够在查询构建器中以编程方式在其中嵌入注释。
选择查询不会进入二进制日志,但注释可能会进入慢查询日志,常规查询日志等。
以下是来自Percona的博客文章,稍微涉及了这个主题,特别是在mk-query-digest的上下文中。它可能有所帮助:
http://www.mysqlperformanceblog.com/2010/07/05/mk-query-digest-query-comments-and-the-query-cache/