Was bedeutet der Null Wert bei phpmyadmin?

2 Antworten

ganz einfach, wenn du keinen wert spezifizierst in der spalte, wird dieser beim hinzufügen von datensätzen zu "null" heißt, er wird nicht setzt. wenn du mit einer query die daten ausliest, sie dir also als string liefern lässt, steht dann dort eine "0" im string wo du in phpmyadmin "null" gesetzt hast.


ohwehohach  19.05.2021, 11:57
wenn du mit einer query die daten ausliest, sie dir also als string liefern lässt, steht dann dort eine "0" im string wo du in phpmyadmin "null" gesetzt hast.

Das ist nicht korrekt. Erstens liefert eine Query nur dann Strings, wenn Du explizit zu Strings konvertierst. Ansonsten hat das Ergebnis genau den Datentyp der Spalte. Zweitens wird NULL niemals zu 0 oder sonstwas, außer Du fügst in der Query explizit sowas ein wie IFNULL(Spalte, "0").

0
Mastermind498  19.05.2021, 12:12
@ohwehohach

hm komisch, bei mir wurde das so gemacht automatisch. also wenn ich einen wert auf "null" gesetzt habe wurde später beim auslesen der resultate da eine 0 draus

0
Mastermind498  19.05.2021, 22:42
@ohwehohach

hast recht. es kommt nicht 0 sondern "null" zurück. ich hab das in der DB nur so als standard-wert angegeben das wenn man die spalte leer lässt, dass der standard wert 0 gesetzt wird aber nicht null

0
laura136 
Beitragsersteller
 19.05.2021, 11:50

Wo wir gerade beim Thema sind

meine Lehrer haben es nicht wirklich hinbekommen das mit dem String zu erklären und im Netz bin ich auch nicht weit gekommen. Ist ein kompliziertes Thema haha

wärst du so freundlich, mir grad auch zu sagen, was das sein soll?

0
ohwehohach  19.05.2021, 11:51
@laura136

Da ist nichts kompliziert dran. Ein String ist ein Datentyp und bezeichnet einfach Textinhalt. Es ist eine Folge von Buchstaben.

0
ohwehohach  19.05.2021, 11:55
@ohwehohach

In SQL gibt es hierfür verschiedene Datentypen.

Es gibt beispielsweise CHAR[Länge]. Feldwerte mit diesem Typ sind IMMER "Länge" Zeichen lang. Der Wert in einem Feld des Typs CHAR[10] ist immer 10 Zeichen lang, egal ob Du ein "a" reinschreibst oder "Hallo".

Dagegen ist die Länge bei VARCHAR variabel. Wenn Du einen Wert aus einer VARCHAR[10] Spalte ausliest, ist dieser genau so lang, wie das, was vorher reingeschrieben wurde.

0
Mastermind498  19.05.2021, 11:57
@laura136

ein String ist eine Zeichenfolge, sprich wörter oder sätze. "hello world" ist ein string. Ein String besteht aus Chars (Character) also buchstaben. char a = 'a';

0
Von Experte Dultus, UserMod Light bestätigt

Ganz einfach. Null bedeutet "hat keinen zugewiesenen/gültigen Wert". Das ist nicht dasselbe wie die Zahl "0" oder ein Leerstring oder ähnliches und kann auch nicht mit irgendetwas verglichen werden (denn es hat keinen Wert, der vergleichbar wäre). Auch wenn eine Spalte den Wert NULL halt, gilt: Spalte <> NULL, aber durchaus Spalte IS NULL.

Beachte: Nicht jede Spalte einer Tabelle ist unbedingt auch null-fähig. Man kann durchaus erzwingen, dass in einer Spalte niemals der Wert NULL stehen darf.