Hallo zusammen, ich bin auf der Suche nach einer Lösung, wobei ein Textfile über die Kommando-Zeile bzw. Shell-Skript in ein Tabellen-Feld einer MySQL-Datenbank eingelesen werden. Das Feld, in dem die Daten abgelegt werden sollen, ist als BLOB-Feld definiert. Bisher habe ich nur eine Lösung mittels mysql>UPDATE tabelle SET datei_feld=LOAD_FILE("/pfad/textdatei") WHERE id=4711; gefunden. Dieses setzt ja voraus, das bereits ein Einrtag in der Tabelle mit passender id vorhanden sein müsste, bevor ein UPDATE stattfinden kann. Gibt es eine Möglichkeit, die Datei direkt über einen INSERT einzufügen? Anmerkung: Die "id" korrespondiert mit einer übergeordneten Tabelle und ist bereits bekannt. Gruß Andreas Rau
Am Sonntag, 8. Februar 2004 16:19 schrieb Andreas Rau:
Hallo zusammen,
ich bin auf der Suche nach einer Lösung, wobei ein Textfile über die Kommando-Zeile bzw. Shell-Skript in ein Tabellen-Feld einer MySQL-Datenbank eingelesen werden.
Ich mache das so:
mysql --host=$MYSQLHOST -A --user=$MYSQLUSER --password=$MYSQLPWD
$MYSQLDB <
Hallo, Am Sonntag, 8. Februar 2004 16:19 schrieb Andreas Rau:
Hallo zusammen, ich bin auf der Suche nach einer Lösung, wobei ein Textfile über die Kommando-Zeile bzw. Shell-Skript in ein Tabellen-Feld einer MySQL-Datenbank eingelesen werden. Das Feld, in dem die Daten abgelegt werden sollen, ist als BLOB-Feld definiert.
Weiß jetzt nicht ob es das ist, was du genau suchst, aber ich importiere Textdateien aus shell-skripten in mysql wie folgt: webapache/mysql/current/bin/mysqlimport --local --fields-terminated-by=';' --columns=column1,column2 /PATH/FILE --password=pass In meinem Fall wäre dann ";" der Trenner, wenn du den auf eine Combo setzt, die in deinem File nicht vorkommt (?$?$?), bekommst du alles in eine Feld. Bernd -- [Zufallssig 2] Microsoft isn't the answer. Microsoft is the question, and the answer is no.
Tach zusammen,
webapache/mysql/current/bin/mysqlimport --local --fields-terminated-by=' ;'
--columns=column1,column2 /PATH/FILE --password=pass
In meinem Fall wäre dann ";" der Trenner, wenn du den auf eine Combo setzt, die in deinem File nicht vorkommt (?$?$?), bekommst du alles in eine Feld.
hab? ne einfachere Lösung gefunden: mysql> INSERT INTO tabelle (feld1, feld2) values ('4711', LOAD_FILE('/pfad/textfile')); Das ist geanu das, was ich gesucht habe. Viele Grüße Andreas Rau
participants (3)
-
Al Bogner
-
Andreas Rau
-
Bernd Tannenbaum