在MySQL语句中嵌入注释

时间:2010-11-04 19:14:51

标签: mysql comments

有没有人知道在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。

有没有人有这方面的经验?非常感谢!简

2 个答案:

答案 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/