Mysql: Wie kann ich mithilfe der RTRIM in mein LOAD DATA INFILE query?

In meinem code habe ich eine Abfrage, die wie folgt aussieht:

$load_query = "LOAD DATA LOCAL INFILE '{$file}' INTO TABLE `{$table}`
      FIELDS TERMINATED BY ',' ENCLOSED BY '\"';";

Ist hier eine Beispiel-Zeile in der Datei enthalten, die ich versuche zu laden:

"MC318199","06160","1","P","00750","00000","TN598792","04/16/2009","91X"                 

Werden Sie feststellen, dass am Ende des Beispiel, die Reihe gibt es schon ein paar Räume. Diese Räume, die alle auftreten, bevor das neue-Zeile-Zeichen "\n" beendet die Linie. Das problem ist, dass diese Räume in die Datenbank eingegeben.

Wie kann ich entfernen Sie die zusätzlichen Leerzeichen bei der Ausführung der LOAD DATA INFILE Befehl? Gibt es eine Möglichkeit zu nutzen RTRIM?

Bearbeiten

Als ajreal schlug ich musste re-die Datei vorbereiten. Nachdem die Datei vorbereitet wurde, war es in die Datenbank eingefügt, richtig. Ich veränderte die bash-script, zu finden unter: http://gabeanderson.com/2008/02/01/unixlinux-find-replace-in-multiple-files/ um dies zu erreichen. Der code ist unten dargestellt:

#!/bin/bash 
for fl in *.txt; do
  mv $fl $fl.old
  sed 's/[ \t]*$//' $fl.old > $fl
  rm -f $fl.old
done
  • Ich musste re-bereiten Sie die Datei vor dem eintragen in die Datenbank. Ich habe folgende bash-Skript zum entfernen der Leerzeichen aus der Datei. Ich stellte den code in meiner Frage um richtig formatiert.
Schreibe einen Kommentar