mysql + terminated

Deletemaster

Erfahrenes Mitglied
Hallo zusammen,
folgendes Problem:
in meiner Tabelle1 sind die Felder:
anrede
vorname
nachname
zusatz
strasse
plz
ort
telefonzusatz
vorwahl
telefon
Tabelle2 erweiter durch:
vorwahl_telefon
vrn
es erfolgt update:
update tabelle2 set vorwahl_telefon = concat(vorwahl,'-',telefon);
update tabelle2 set vrn = concat(vorwahl,telefon);

nach meinem export:
select * from tabelle2 into outfile 'D:\\test.txt' lines terminated by '\n';
sind im textfile nach den Feldern vorwahl_telefon und vrn Zeilenumbrüche, also das "komische" quadrat.
wie kann ich diese beim export beseitigen?

Danke für Eure Hilfe
 
Versuch mal \n\r oder umgedreht \r\n, weiß ich grade nimmer ;) Ist bei Windows so (hab ich mal im PHP Manual gelesen). Ein Versuch schadet ja nicht ;)
 
Hallo RadHad,
danke für Deine Antwort, leider klappt das auch nicht.
Meine Vermutung ist, daß hier beim vorhergehenden Update-Befehl Zeilenumbrüche erzeugt werden.
Denn, wenn ich die ursprungstabelle exportiere
anrede
vorname
nachname
zusatz
strasse
plz
ort
telefonzusatz
vorwahl
telefon
werden die Daten exakt in die txt geschrieben
in der tabelle2
wird ein update durchgeführt,
hier werden die Feldinhalte von vorwahl und telefon als verkettung zusammengesetzt:
set vrn = concat(vorwahl,'-',telefon;
denn hier ist in der exportdatei als letztes Zeichen im Feld vorwahl_telefon der Zeilenumbruch zu sehen. und nur hier!

Also Problem noch nicht gelöst
 
Ok, dann vielleicht mit CONCAT_WS() - hier der Auszug aus dem Manual:
CONCAT_WS() (Concatenate With Separator) ist eine Sonderform von CONCAT(). Das erste Argument ist das Trennzeichen für die verbleibenden Argumente. Das Trennzeichen wird zwischen die zu verkettenden Strings gesetzt. Das Trennzeichen kann ein String wie auch die übrigen Argumente sein. Wenn das Trennzeichen NULL ist, ist das Ergebnis ebenfalls NULL.

mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
-> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
-> 'First name,Last Name'

CONCAT_WS() überspringt Leer-Strings nicht. NULL-Werte nach dem Trennzeichenargument werden hingegen übersprungen.
 
Zurück