Heidi SQL - Tabellenzeilen löschen wenn Spalte leer

Max-Berater

Erfahrenes Mitglied
Ich kriege es einfach nicht hin, dass mir Heidi SQL Zeilen löscht, in denen in der Spalte supmap kein Inhalt hinterlegt ist. mit WHERE supmap is NULL hat es bisher nicht funktioniert.

Hat jemand hiereinen Lösungsansatz?

1642498131940.png
 

Zvoni

Erfahrenes Mitglied
Wenn IS NULL nicht funktioniert, dann hast du eine "falsche" Spalten-Definition.
Hast du nen DEFAULT-Wert? Oder vielleicht Fixed-Length String?

funktioniert das?
DELETE FROM MyTable WHERE TRIM(supmap)='' (<-- Das sind zwei einzelne Apostrophen ' ')
 

Yaslaw

alter Rempler
Moderator
Erweiterung um alle zu kriegen
SQL:
WHERE TRIM(IFNULL(supmap, ''))=''
 
Zuletzt bearbeitet:

Zvoni

Erfahrenes Mitglied
Weiter in der Fehlersuche:
Wie lautet denn der INSERT zu den Sätzen? Vielleicht sitzt da der Hase im Pfeffer, und das sind schon von Haus aus keine NULL's
 

Max-Berater

Erfahrenes Mitglied
Die Werte werden über einen csv Import einfach übertragen wenn vorhanden und wenn nicht wird nichts importiert die Spalte in der csv ist dann einfach leer ohne Inhalt
 

Zvoni

Erfahrenes Mitglied
Autsch.
hab jetzt schon lange kein CSV importiert, aber ich glaube wenn im CSV ein Feld leer ist, wird kein NULL in die zugehörige Spalte geschrieben, sondern ein leerer String.

hast du meine Alternative (bzw. Yaslaws) ausprobiert?
 

Max-Berater

Erfahrenes Mitglied
Wenn IS NULL nicht funktioniert, dann hast du eine "falsche" Spalten-Definition.
Hast du nen DEFAULT-Wert? Oder vielleicht Fixed-Length String?

funktioniert das?
DELETE FROM MyTable WHERE TRIM(supmap)='' (<-- Das sind zwei einzelne Apostrophen ' ')
Hi, danke das hat funktioniert

DELETE FROM DEMCO WHERE TRIM(supmap)=''
 

Zvoni

Erfahrenes Mitglied
Was meine Vermutung bestätigen würde: ein "leeres" Feld in einem CSV wird nicht als NULL sondern als leerer String eingefügt.
Würde aber dennoch Yaslaw's Erweiterung verwenden. Würde beide Fälle erwischen, falls mal doch ein echtes NULL da drin stehen sollte