374 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
mysql> select 1+1; # Dieser Kommentar geht bis zum Zeilenende
mysql> select 1+1; -- Dieser Kommentar geht bis zum Zeilenende
mysql> select 1 /* Das ist ein Kommentar mittendrin */ + 1;
mysql> select 1+
/*
Das ist ein
mehrzeiliger
Kommentar
*/
1;
Beachten Sie, dass Sie beim Kommentarstil -- mindestens ein Leerzeichen hinter -- setzen
m¨ussen!
Obwohl der Server die Kommentar-Syntax wie beschrieben versteht, gibt es einige Ein-
schr¨ankungen in der Art, wie der mysql-Client /* ... */-Kommentare parst:
• Einfache und doppelte Anf¨uhrungszeichen werden genommen, um den Anfang einer Ze-
ichenkette zu bestimmen, selbst innerhalb eines Kommentars. Wenn die Zeichenkette
nicht durch ein zweites Anf¨uhrungszeichen innerhalb des Kommentars a/jointfilesconvert/293675/bgeschlossen
wird, bemerkt der Parser nicht, dass der Kommentar zuende ist. Wenn Sie mysql inter-
aktiv ausf¨uhren, sehen Sie, dass mysql verwirrt ist, weil sich die Eingabeaufforderung
von mysql> zu to ’> oder "> ¨andert.
• Ein Semikolon wird genommen, um das Ende des aktuellen SQL-Statements kenntlich
zu machen. Alles Folgende wird als Anfang des n¨achsten Statements aufgefasst.
Diese Einschr¨ankungen gelten sowohl, wenn Sie mysql interaktiv ausf¨uhren und wenn Sie
Befehle in eine Datei schreiben und mysql mit mysql < some-file anweisen, seine Eingaben
aus dieser Datei zu lesen.
MySQL unterst¨utzt nicht den ANSI-SQL-Kommentarstil ‘--’ ohne nachfolgendes Leerze-
ichen. Siehe Abschnitt 2.7.4.8 [ANSI diff comments], Seite 44.
7.1.6 Ist MySQL pingelig hinsichtlich reservierter W¨orter?
Ein h¨aufiges Problem r¨uhrt daher, dass versucht wird, eine Tabelle mit Spaltennamen
zu erzeugen, den die Namen von Datentyp en oder in MySQL eingebauten Funktionen
entsprechen, wie TIMESTAMP oder GROUP. Sie d¨urfen das tun (beispielsweise ist ABS ein
zul¨assiger Spaltenname), aber es sind dann keine Leerzeichen zwischen einem Funktion-
sname und der ‘(’ erlaubt, wenn Sie Funktionen benutzen, deren Namen auch Spaltennamen
sind.
Folgende W¨orter sind in MySQL explizit reserviert. Die meisten davon sind in ANSI-SQL92
als Spalten- und / oder Tabellennamen verboten (zum Beispiel group). Einige wenige sind
reserviert, weil MySQL sie ben¨otigt und (momentan) einen yacc-Parser benutzt:
action add aggregate all
alter after and as
asc avg avg_row_length auto_increment
between bigint bit binary
blob bool both by
cascade case char character
Kommentare zu diesen Handbüchern