【问题标题】:Comments in MySql view scriptsMySql 视图脚本中的注释
【发布时间】:2012-11-30 13:14:17
【问题描述】:

有可能吗?我尝试了多个 gui(mysql workbench、navicat、toad for mysql),但没有一个像这样保存 cmets:

 -- something important
 select .....
-- something else important

等等

是否有我经过的设置,或者这是根本无法完成的事情?我问,因为 TOAD for Oracle 保存了我在上面的代码块中发布的内容。

【问题讨论】:

  • @Wrikken 我刚刚尝试过,但它没有出现在SHOW CREATE VIEW
  • 是的,对不起,我去测试了,发现同样的东西,已经删除了评论。
  • 不能保存cmet就太可惜了。存储过程有一个COMMENT 指令,但它不在CREATE VIEW 规范中。
  • 这对案件来说似乎是残酷的。评论很重要,尤其是考虑到他们很少看的观点。我发现这是 MySql 的一个严重缺陷。

标签: mysql


【解决方案1】:

mysql 命令行客户端为 EVENT、FUNCTION、PROCEDURE、TRIGGER 保存 cmets,但前提是您包含 --comments 选项。

您始终可以让 mysql 包含 cmets,方法是使用以下内容创建 ~/.my.cnf 文件:

[mysql]
comments=1

不幸的是,即使提供了这个选项,MySQL 似乎也没有为 VIEW 保留 cmets。

我决定将 cmets 存储在 VIEW 中的唯一方法是在 ORDER BY 字段的末尾包含一个虚拟字符串。例如:

CREATE
DEFINER = `root`@`localhost`
SQL SECURITY INVOKER
VIEW  
ex
AS
SELECT
*
FROM 
mysql.user
ORDER BY
user,
'a comment can go here';

访问MySQL Manual了解更多详情。

在 MySQL 5.1 之前,您可以在 VIEWs 中使用 MySQL 特定的 cmets (/*! a comment */),但在 5.1 和字母中删除了该“功能”。详情请见here

【讨论】:

猜你喜欢
  • 2012-02-10
  • 2012-02-12
  • 1970-01-01
  • 2010-10-31
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
相关资源
最近更新 更多