Kapitel 7: MySQL-Sprachreferenz 453
F¨ur die Eingabe werden, falls das FIELDS ESCAPED BY-Zeichen nicht leer ist, Vorkommen
dieses Zeichens entfernt, und die folgenden Zeichen werden buchst¨ablich als Teil des Feldw-
erts genommen. Die Ausnahmen sind ein escapetes ‘0’ oder ‘N’ (beispielsweise \0 oder \N,
wenn das Fluchtzeichen (Escape-Zeichen) ‘\’ ist). Diese Folgen werden als ASCII-0 inter-
pretiert (ein Byte mit Wert 0) und NULL. Siehe unten zu den Regeln der NULL-Handhabung.
Weitere Informationen ¨uber die ‘\’-Escape-Syntax finden Sie unter Abschnitt 7.1.1 [Literals],
Seite 368.
In bestimmten F¨allen beeinflussen sich die Handhabungsoptionen f¨ur Felder und Zeilen
gegenseitig:
• Wenn LINES TERMINATED BY eine leere Zeichenkette ist und FIELDS TERMINATED BY
nicht leer ist, werden Zeile auch durch FIELDS TERMINATED BY begrenzt.
• Wenn die FIELDS TERMINATED BY- und FIELDS ENCLOSED BY-Werte beide leer sind (’’),
wird ein Festzeilen- (nicht begrenztes) Format benutzt. Beim Festzeilenformat wer-
den keine Begrenzer zwischen Feldern benutzt. Statt dessen werden Spaltenwerte
geschrieben und gelesen, indem die Anzeigebreite der Spalten benutzt wird. Wenn
eine Spalte zum Beispiel als INT(7) deklariert ist, werden Werte f¨ur die Spalte mit
7-Zeichen-Feldern geschrieben. Bei der Eingabe werden Werte f¨ur die Spalte mit 7-
Zeichen-Feldern bezogen. Festzeilenformate beeinflussen auch die Handhabung von
NULL-Werten (siehe unten). Beachten Sie, dass Festgr¨oßenformate nicht funktionieren,
wenn Sie einen Multi-Byte-Zeichensatz benutzen.
Die Handhabung von NULL-Werten variiert in Abh¨angigkeit von den FIELDS- und LINES-
Optionen, die Sie benutzen:
• Bei den vorgabem¨aßigen FIELDS- und LINES-Werten wird NULL f¨ur die Ausgabe als \N
geschrieben und \N als NULL f¨ur die Eingabe gelesen (unter der Annahme, dass das
ESCAPED BY-Zeichen ‘\’ ist).
• Wenn FIELDS ENCLOSED BY nicht leer ist, wird ein Feld, das das Literalwort NULL als
seinen Wert enth¨alt, als NULL-Wert gelesen (das weicht ab vom Wort NULL, begrenzt
durch FIELDS ENCLOSED BY-Zeichen, was als die Zeichenkette ’NULL’ gelesen wird).
• Wenn FIELDS ESCAPED BY leer ist, wird NULL als das Wort NULL gelesen.
• Beim Festzeilenformat (was auftritt, wenn sowohl FIELDS TERMINATED BY als auch
FIELDS ENCLOSED BY leer sind), wird NULL als leere Zeichenkette geschrieben. Beachten
Sie, dass das dazu f¨uhrt, dass NULL-Werte und leere Zeichenketten in der Tabelle nicht
mehr unterscheidbar sind, wenn in die Datei geschrieben wird, weil sie beide als leere
Zeichenketten geschrieben werden. Wenn Sie in der Lage sein m¨ussen, diese zu unter-
scheiden, wenn Sie die Datei wieder einlesen, sollten Sie kein Festzeilenformat benutzen.
Einige F¨alle werden von LOAD DATA INFILE nicht unterst¨utzt:
• Festgr¨oßenzeilen (FIELDS TERMINATED BY und FIELDS ENCLOSED BY sind beide leer)
und BLOB- oder TEXT-Spalten.
• Wenn Sie ein Trennzeichen angeben, das dasselbe wie ein anderes ist oder einem anderen
vorangestellt ist. LOAD DATA INFILE kann in diesem Fall die Eingabe nicht korrekt
interpretieren. Folgende FIELDS-Klausel zum Beispiel w¨urde Probleme bereiten:
FIELDS TERMINATED BY ’"’ ENCLOSED BY ’"’
• Wenn FIELDS ESCAPED BY leer ist, f¨uhrt ein Feldwert, der ein Vorkommen von FIELDS
ENCLOSED BY oder LINES TERMINATED BY gefolgt vom FIELDS TERMINATED BY-Wert
Comentarios a estos manuales