Alle Leerstrings durch NULL ersetzen

Alle Leerstrings durch NULL ersetzen

am 05.07.2006 18:31:13 von Karsten Wutzke

Hallo alle!

Wie kann man denn in einer Tabelle alle Leerstrings durch NULL
ersetzen? Ich sitz hier auf nem teilweise ziemlichen Datensalat rum.

UPDATE test
SET *=3DNULL
WHERE *=3D''

;-) Geht ja nicht. Es muss doch was ganz Einfaches geben, denk ich,
oder?

Danke für die Hilfe!
Karsten

Re: Alle Leerstrings durch NULL ersetzen

am 05.07.2006 21:33:27 von Thomas Rachel

Karsten Wutzke wrote:

> Wie kann man denn in einer Tabelle alle Leerstrings durch NULL
> ersetzen? Ich sitz hier auf nem teilweise ziemlichen Datensalat rum.

So ohne weiteres geht das nicht. Das mußt Du für jede Spalte extra machen.

Wenn es viele Spalten sind, hilft Dir:

mysql -NB -e 'show columns from ' | cut -f1 | while read spalte; do
echo "Update set $spalte=NULL WHERE $spalte='';"
done | mysql


> ;-) Geht ja nicht. Es muss doch was ganz Einfaches geben, denk ich,
> oder?

Einfach, ja. Aber leider kein reines SQL, sondern noch etwas Shell drumrum.

Thomas