MYSQL: Leeres Feld aber nicht NULL - Wie abfragen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
attribut
datum
eintragen
erscheinen
feld
formular
frage
korrigieren
leerer string
mist
null
spalte
tabelle
textfeld
typ
unterschied
verhindern
zeichen
-
Hallo zusammen
Ich habe eine Tabelle einer Datenspalte (Attribut) bei welcher NULL erlaubt ist. Dort finden sich nun aber einige Datensätze welche "leer" sind (also keine Zeichen enthalten) aber nicht NULL sind. Verwirt mich schon, das dies überhaupt möglich ist.
Auf jeden Fall möchte ich mir diese anzeigen lassen, finde aber keine passende SQL-Abfrage: Bei IS NULL erscheinen sie nicht, bei "" oder '' auch nicht, und wenn ich gar nichts schreibe erscheinen -logischerweise- auch alle anderen.
Endstanden sind diese Werte so: Ich habe mir ein PHP Script geschrieben, welche alle alle Sätze in welchen diese Spalte NULL ist ausgibt und wo ich dann (in einem Formular) etwas eintragen kann. Dies wird dann in die Datenbank gespeichert. Wenn ich nun aber ein Textfeld (des Formulars) leer lasse, wird der Inhalt dieses Feldes (also nichts) auch in die DB geschrieben und das Feld ist nicht mehr NULL.
Ist das normal und wie kann man ein solches leeres nicht NULL feld abfragen?
Besten Dank für eure antworten!
PS. Mir ist klar, das ich bereits verhindern könnte, dass die leeren Felder überhaupt in die DB geschrieben werden. Frage mehr aus Interesse und um zu lernen.
Edit: Muss mich korrigieren, mit "" (also zwei ") kann mans abfragen, hab wohl zuerst mist gebaut. Mich würde aber immer noch interessieren was der unterschied zwischen einem leeren und einem NULL Feld ist?
Beitrag zuletzt geändert: 28.8.2012 20:58:26 von pickup -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
NULL ist ein auf C++ vllt bekannter Nullpointer "Typ". NULL repräsentiert also das wirkliche nichts, es enthält keinerlei Daten. "" ist ein Leerstring. Das bedeutet es ist vom Datentyp her definiert. Damit würd ich den Unterschied so ungefähr erklären.
NULL = Typlos und wirklich keinerlei Daten, das nichts
"" = Leerer String
Liebe Grüße -
Ahhh.. Okei Besten Dank :)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage