450 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
keine der beiden Optionen angeben, tritt ein Fehler auf, wenn ein doppelter Schl¨usselwert
gefunden wird, und der Rest der Textdatei wird ignoriert.
Wenn Sie Daten aus einer lokalen Datei mit dem LOCAL-Schl¨usselwort laden, hat der Server
keine M¨oglichkeit, die
¨
Ubertragung der Datei mitten in einer Operation zu beenden. Daher
ist das vorgabem¨aßige Verhalten dasselbe, als wenn IGNORE angegeben w¨are.
Wenn Sie LOAD DATA INFILE auf einer leeren MyISAM-Tabelle benutzen, werden alle nicht
eindeutigen Indexe in einem separaten Stapel erzeugt (wie bei REPAIR). Das macht LOAD
DATA INFILE normalerweise viel schneller, wenn Sie viele Indexe haben.
LOAD DATA INFILE ist das Komplement von SELECT ... INTO OUTFILE. Siehe Ab-
schnitt 7.4.1 [SELECT], Seite 435. Um Daten aus einer Datenbank in eine Datei zu
schreiben, benutzen Sie SELECT ... INTO OUTFILE. Um die Datei zur¨uck in die Datenbank
zu lesen, benutzen Sie LOAD DATA INFILE. Die Syntax der FIELDS- und LINES-Klauseln
ist f¨ur beide Befehle dieselbe. Beide Klauseln sind optional, aber FIELDS muss LINES
vorangehen, wenn beide angegeben werden.
Wenn Sie eine FIELDS-Klausel angeben, ist jede ihrer Unterklauseln (TERMINATED BY,
[OPTIONALLY] ENCLOSED BY und ESCAPED BY) ebenfalls optional, ausser dass Sie zumindest
eine von ihnen angeben m¨ussen.
Wenn Sie keine
FIELDS
-Klausel benutzen, sind die Vorgabewerte dieselben, als wenn Sie
folgendes geschrieben h¨atten:
FIELDS TERMINATED BY ’\t’ ENCLOSED BY ’’ ESCAPED BY ’\\’
Wenn Sie keine LINES-Klausel angeben, sind die Vorgabewerte dieselben, als wenn Sie
folgendes geschrieben h¨atten:
LINES TERMINATED BY ’\n’
Mit anderen Worten veranlassen die Vorgabewerte LOAD DATA INFILE, beim Lesen von
Eingaben wie folgt zu arbeiten:
• Zeilenbegrenzungen werden an Neue-Zeile-Zeichen gesucht (\n).
• Zeilen werden an Tabulatoren (\t) in Felder aufgeteilt.
• Es wird nicht davon ausgegangen, dass Felder in Anf¨uhrungszeichen eingeschlossen
sind.
• Tabulatoren, Neue-Zeile-Zeichen oder ‘\’, denen ein ‘\’-Zeichen voran gestellt ist, wer-
den als Literale interpretiert, die Teil des Feldwerts sind.
Im Vergleich dazu veranlassen die Vorgabewerte von SELECT ... INTO OUTFILE dieses, wie
folgt zu arbeiten:
• Zwischen Felder werden Tabulatoren (\t) geschrieben.
• Felder werden nicht in Anf¨uhrungsstriche geschrieben.
• ‘\’ wird benutzt, um Tabulator, Neue-Zeile-Zeichen oder ‘\’ innerhalb von Feldwerten
zu escapen.
• Am Ende von Zeilen werden Neue-Zeile-Zeichen (\n) geschrieben.
Beachten Sie, dass Sie FIELDS ESCAPED BY ’\\’ (mit zwei Backslashes) schreiben m¨ussen,
damit der Wert als ein einzelner Backslash gelesen wird.
Die IGNORE anzahl LINES-Option kann benutzt werden, um eine Kopfzeile aus Spaltenna-
men am Anfang der Datei zu ignorieren:
Comentarios a estos manuales