Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Comments in MySql view scripts

Tags:

mysql

Is it possible to do so? I've tried multiple gui(mysql workbench, navicat, toad for mysql) and none of them save the comments like this:

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

etc.

Is there a setting I am passing by or is this something that simply cannot be done? I ask since TOAD for Oracle saves what I posted in the code block above.

like image 356
user1193752 Avatar asked Dec 12 '12 18:12

user1193752


People also ask

How do I comment in a MySQL script?

MySQL Server supports three comment styles: From a # character to the end of the line. From a -- sequence to the end of the line. In MySQL, the -- (double-dash) comment style requires the second dash to be followed by at least one whitespace or control character (such as a space, tab, newline, and so on).

What is /* in MySQL?

Standard SQL uses the C syntax /* this is a comment */ for comments, and MySQL Server supports this syntax as well. MySQL also support extensions to this syntax that enable MySQL-specific SQL to be embedded in the comment, as described in Section 9.7, “Comments”. The statement produces no change in value at all.

How do you comment multiple lines in MySQL?

Multi-line comments start with /* and end with */ . Any text between /* and */ will be ignored.


1 Answers

The mysql command line client will save comments for EVENTs, FUNCTIONs, PROCEDUREs, TRIGGERs, but only if you include the --comments option.

You can always have mysql include comments, by creating a ~/.my.cnf file with the following:

[mysql]
comments=1

Unfortunately, MySQL doesn't seem to preserve comments for VIEWs, even if this option is provided.

The only way I have determined to store comments inside a VIEW, is to include a dummy string at the end of the ORDER BY fields. For example:

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

Visit the MySQL Manual for more details.

Before MySQL 5.1, you could use MySQL-specific comments (/*! a comment */) inside VIEWs, but that "feature" was removed in 5.1 and letter. See here for more details.

like image 155
Ross Smith II Avatar answered Sep 28 '22 03:09

Ross Smith II