[MySQL] Int-Feld lässt sich nicht mehr leeren.

Toby

Cadet 4th Year
Registriert
Mai 2003
Beiträge
107
Hallo zusammen,

Ich habe in einem PHP Script das Feld "pos_anzahl".

Dieses Feld wird im Script nur angezeigt wenn es nicht leer ist.
if ($pos_anzahl !="") {echo $pos_anzahl;}

Nun habe ich das aber Problem, wenn das Feld einmal mit einem Wert versehen war und DANACH der Wert wieder entfernt wird, steht in dem FELD die ZAHL '0'. D.H. das Feld wird angezeigt weil ja die Zahl Null drin steht.
Das Feld sollte aber LEER ('NULL') sein!

In folgendem Screenshot habe ich einen Auszug des Feldes aus PHPmyadmin.
mysql.jpg


Weiss jemand wieso sich das Feld nicht mehr leeren läßt ??

gruss
Toby
 
Hallo.

Mach doch einfach
PHP:
if(($pos_anzahl == null)||($pos_anzahl == "0")
So müsste es eigentlich gehen

MFG

tewes
 
Hallo,

auf welche Weise "entfernst" du denn den Wert aus dem Feld?
Weist du dem Feld beim "leeren" auch explizit einen NULL-Wert zu?

MfG mh1001
 
Null oder NULL dass ist hier die Frage.

Es gibt 3 Null Werte:
1. Die Zahl Null (1-1 = 0)
2. Keinen Wert (undefiniert) auch NULL genannt.
3. Der String (text) "NULL"

Lies dich mal schlau was der jeweilige Unterschied ist. Aber soviel als Tipp:
Code:
UPDATE tabelle1 SET pos_anzahl=NULL WHERE foo="bar"
 
mh1001 schrieb:
Hallo,
auf welche Weise "entfernst" du denn den Wert aus dem Feld?
MfG mh1001

In einem Formular. Der Inhalt wird mit einem Textfeld manuell gelöscht. Danach wird der neue Wert (also nichts) per SQL-Anweisung UPDATE $tabellenname SET pos_anzahl='$pos_anzahl' wieder eingelesen. Danach steht eben '0' in der Datenbank.


mh1001 schrieb:
Hallo,
Weist du dem Feld beim "leeren" auch explizit einen NULL-Wert zu?
MfG mh1001
Nein, es wird einfach das textfeld per sql-Anweisung aktualisiert.

gruss
Toby
 
Code:
UPDATE $tabellenname SET pos_anzahl = NULLIF ( $pos_anzahl, 0)

Das du dich um die Maskierung aller Werte gekümmert hast nehme ich jetzt einfach mal an.
 
ag3nt schrieb:
Code:
UPDATE $tabellenname SET pos_anzahl = NULLIF ( $pos_anzahl, 0)

Das du dich um die Maskierung aller Werte gekümmert hast nehme ich jetzt einfach mal an.


*hüstl* ehrlich gesagt kann ich mit dem Begriff "Maskierung" nichts anfangen.

Ich werde mir jetzt kurz die von Dir angegebe Funktion 'NULLIF' genauer im Manual anschauen.

Danke
Toby
 
Zurück
Oben