2012-12-12 8 views
5

Ist es möglich, dies zu tun? Ich habe mehrere gui (für MySQL MySQL Workbench, navicat, Kröte) versucht, und keiner von ihnen die Kommentare wie folgt speichern:Kommentare in MySql View-Skripte

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

usw.

Gibt es eine Einstellung, die ich durch bin vorbei oder ist dies etwas, das einfach nicht gemacht werden kann? Ich frage seit TOAD für Oracle speichert, was ich im obigen Codeblock gepostet habe.

+0

@Wrikken Ich habe es gerade versucht und es erscheint nicht in 'SHOW CREATE VIEW' –

+0

Ja, tut mir leid, ich ging es zu testen und fand das gleiche, bereits den Kommentar gelöscht. – Wrikken

+2

Es ist schade, wenn die Kommentare nicht gespeichert werden können. Es gibt eine 'COMMENT'-Direktive für gespeicherte Prozeduren, aber sie befindet sich nicht in der' CREATE VIEW'-Spezifikation. –

Antwort

2

Die mysql Kommandozeilen-Client sparen Kommentare für Ereignisse, Funktionen, Prozeduren, Triggern, aber nur, wenn Sie die --comments Option.

Sie können immer mysql enthalten Kommentare, indem Sie eine ~/.my.cnf Datei mit dem folgenden erstellen:

[mysql] 
comments=1 

Leider MySQL scheint nicht Kommentare zu VIEWs zu bewahren, auch wenn diese Option zur Verfügung gestellt wird.

Die einzige Möglichkeit, Kommentare in einer VIEW zu speichern, besteht darin, eine Dummy-Zeichenfolge am Ende der ORDER BY Felder einzufügen. Zum Beispiel:

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

Besuchen Sie die MySQL Manual für weitere Details.

Vor MySQL 5.1 konnten Sie MySQL-spezifische Kommentare (/*! a comment */) in VIEW s verwenden, aber dieses "Feature" wurde in 5.1 und Buchstaben entfernt. Weitere Informationen finden Sie unter here.

+0

Es gibt eine Erweiterungsanforderung zum Unterstützen von Kommentaren in Ansichten. Jeder, der darauf stößt, klickt bitte auf "betrifft mich" in http://bugs.mysql.com/bug.php?id=30729. –