2011-01-12 12 views
3

Ich versuche, eine .csv-Datei in phpmyadmin zu importieren, wo mehrere Felder absichtlich leer gelassen werden. Ich brauche dieses Feld, um als Nullwerte zu registrieren und nicht nur als leere Zeichenfolge übrig.Wie setze ich Nullwerte beim Import in phpmyadmin?

Ich weiß in den Feldeigenschaften können Sie wählen, um "Null" vs. "not null" für jedes Feld zuzulassen, aber es ändert immer noch nicht Zelle auf einen Nullwert beim Importieren. Nach dem Import kann ich manuell die Null-Box für jedes Feld in jedem Datensatz überprüfen, aber das ist unrealistisch angesichts der Menge an Daten, mit denen ich arbeite.

Gibt es eine Möglichkeit, phpmyadmin dazu zu bringen, diese leere Zelle beim Import auf Nullwerte zu setzen?

+0

Scheint, es ist nicht klar. Eine NULL-Zeichenfolge in der CSV in meinem Fall hat das Feld "leer", aber nicht NULL. Verwenden von \ N wie in der Befehlszeile Import gibt die Zeichenfolge "\ N". Ich werde weiter erkunden und hoffentlich zurückkommen. – mariotti

+0

Ich fand dies: http://StackOverflow.com/Questions/9282154/importing-csv-file-with-null-values-into-phpmyadmin aber funktioniert nicht OOTB für mich. Es könnte mit "innerhalb von Feldern zu tun haben .. – mariotti

Antwort

5

Ich habe ähnliche Probleme erlebt.

Wenn Sie eine PhpMyAdmin-CSV-Datei mit NULL-Werten herunterladen, werden Sie feststellen, dass NULL nicht in Anführungszeichen eingeschlossen wird. So haben Sie eine Zeile wie diese haben:

"1", "2"; NULL; NULL

"2", "2"; NULL; NULL

usw.

wenn Sie jedoch eine CSV-Datei in so etwas wie Open Office Calc bearbeiten, könnte es diese ändert Anführungszeichen um NULL zu setzen, etwa so:

"1", "2", "NULL", "NULL"

"2"; "2"; "NULL"; "NULL"

usw.

Was arbeiten soll, ist die Suche und ersetzt für [ "NULL" = NULL].

In Ihrem Fall, da Sie leer (leer) Felder haben, werden Sie so eine Suche zu tun und ersetzen suchen:

[,, =, NULL,]

und wahrscheinlich ein zweiter Durchgang für NULL-Werte am Ende einer Zeile wie folgt:

[, \ n = NULL \ n]

0

ich in das gleiche Problem und jmbertucci Antwort lief funktionierte prima. Ich bin auf ein zusätzliches Problem gestoßen. Im Fall mit einer Reihe von Daten wie solche

"hello","world",,,,,,

, die mit mehreren Sätzen von Nullwerten in einer Zeile eine Suche ersetzen hat [,, =, NULL,] als jmbertucci vorgeschlagen wird nicht funktionieren Sie beabsichtigen es im ersten Durchgang. Stattdessen werden Sie sich mit

"hello","world",NULL,,NULL,,NULL

beenden Sie sollten auch weiterhin die Suche ersetzen tun, bis Sie am Ende mit 0 Vorkommen

0

Antike Frage ersetzt, aber falls eine andere MySQL Noob wie ich rüberkommt es.

Die finden/ersetzen rigamarole jmbertucci beschreibt vermeidbar, wenn Sie verantwortlich für die Erstellung der CSV-Datei sind, zum Beispiel, wenn Sie Ihre eigenen Datenbanken sichern.Wenn Sie in phpMyAdmin die Exportmethode "custom" auswählen, sehen Sie replace NULL with: und der Standardwert ist NULL. Ändern Sie das einfach in "NULL" und Sie sparen sich einen Schritt.

Verwandte Themen