SQLyog
 sql >> Datenbank >  >> Database Tools >> SQLyog

Wo in der relevanten Spezifikation ist dokumentiert, dass einige Kommentare in einem SQL-Skript tatsächlich als gültiges SQL (von MySQL) ausgeführt werden sollen?

Es steht im Handbuch unter "Kommentar-Syntax."

http://dev.mysql.com/doc/refman/5.6 /en/comments.html

/*! MySQL-specific code */ 

In diesem Fall analysiert MySQL Server den Code innerhalb des Kommentars und führt ihn aus wie jede andere SQL-Anweisung, aber andere SQL-Server ignorieren die Erweiterungen.

...

Wenn Sie eine Versionsnummer nach dem "!" Zeichen wird die Syntax innerhalb des Kommentars nur ausgeführt, wenn die MySQL-Version größer oder gleich der angegebenen Versionsnummer ist.

Im Fall von gespeicherten Prozeduren wurde die gesamte Deklaration umbrochen, sodass die Prozedurdefinitionen vom Server ignoriert würden, wenn Sie versuchten, die Dump-Datei auf einer Version des MySQL-Servers wiederherzustellen, die so alt ist, dass sie gespeicherte Prozeduren überhaupt nicht unterstützt anstatt den gesamten Wiederherstellungsvorgang zum Scheitern zu bringen.