# Datensätze aus sql-DB löschen wo Feld=leer



## schranzbaum (27. Mai 2005)

Hallo, ich weiss nicht mehr weiter:

ich habe eine mysql-DB-Tabelle, in der sich ein Feld Ansprechpartner (varchar 150, Null=ja und Standard Null) befindet. Jetzt möchte ich "einfach" die Einträge aus der DB löschen, wo im Feld Ansprechpartner nichts steht. Das geht aber nicht so, wie ich sonst immer Datensätze aus der DB lösche:

```
$sql="delete from $db where ansprechpartner='';
```
oder

```
$sql="delete from $db where ansprechpartner='NULL';
```

es werden keine Datensätze gelöscht. Weiss jemand was?
Vielen Dank im voraus


----------



## Sven Mintel (27. Mai 2005)

```
$sql="delete from $db where ansprechpartner=NULL";
```


----------



## birnkammer (27. Mai 2005)

```
$sql="delete from $db where ansprechpartner='NULL';
```
  Du musst die Klammern entfernen:

```
$sql="delete from $db where ansprechpartner=NULL";
```


----------



## schranzbaum (27. Mai 2005)

Hallo, das hatte ich auch schon alles durch, die Beiträge werden aber auch ohne Klammern, also wenn ich schreibe:


```
$sql="delete from $db where ansprechpartner=NULL";
```

nicht gelöscht


```
$sql="delete from $db where ansprechpartner='Müller'";
```

löscht ja alle Beiträge, wo im Feld Müller drinsteht.

Ich komm da echt nicht weiter.


----------



## birnkammer (27. Mai 2005)

Was sit den ansprechpartner für ein Feldtyp?


----------



## schranzbaum (27. Mai 2005)

auch wenn ich das ganze in phpmyadmin mache, kommt zwar keine Fehlermeldung, aber es werden 0 Beiträge gelöscht.

Feld: varchar 150, Null=ja, Standard Null


----------



## birnkammer (27. Mai 2005)

Bist du dir dann sicher, das es überhaupt leere Einträge gibt, wenn auch PHPMyAdmin keine Datensätze löscht?


----------



## schranzbaum (27. Mai 2005)

Beispieldatenbank:

7 Einträge, 1 mit Ansprechpartner, 6 ohne 
in phpmyadmin steht auf der übersichtsseite (wo alle einträge gelistet sind, bei einem Beitrag im Feld Ansprechpartner Herr Müller, in den anderen kursiv NULL


----------



## schranzbaum (27. Mai 2005)

wenn ich in phpmyadmin aus statt Null=ja Null=nein mache und Null dementsprechend auf notnull setze, dann gehts mit


```
$sql="delete from $db where ansprechpartner='';
```

seltsam

aber das will ich ja nicht


----------



## Sven Mintel (28. Mai 2005)

Und so?

```
$sql="delete from $db where ISNULL(ansprechpartner);
```


----------



## Jörg Rißmann (28. Mai 2005)

Mich stört was anderes: delete from $db...
In der  Variable $db steht auch wirklich der Tabellenname?

Ansonsten:

```
$sql= 'DELETE FROM '.$db.' WHERE ansprechpartner="" OR ISNULL("ansprechpartner");';
```


----------



## schranzbaum (1. Juni 2005)

hallo, leider kann ich mich jetzt erst melden, aber die letzten beiden Beiträge haben mich gerettet. Da habe ich vorher noch nie was von gehört. Tausend Dank!


----------

