Zum Inhalt springen

NOT NULL in mysql


Brei

Empfohlene Beiträge

Wird für eine Spalte kein DEFAULT vorgegeben und wird diese als NOT NULL definiert, wird der Wert NULL als DEFAULT verwendet.

Wird eine Spalte ohne DEFAULT-Wert angelegt und als NOT NULL definiert, legt MySQL, abhängig vom Datentyp einen Defaultwert automatisch fest.

quelle

Also wenn ich mir die Sätze durchlese, dann machen sie keinen Sinn.

Wird für eine Spalte kein DEFAULT vorgegeben und wird diese als NOT NULL definiert, ....
ist doch das gleiche wie:
Wird eine Spalte ohne DEFAULT-Wert angelegt und als NOT NULL definiert, legt ....
Link zu diesem Kommentar
Auf anderen Seiten teilen

@baba007

Da scheint irgendwo ein "nicht" in dem Zitat zu fehlen :D

Aber die Erklärung findet man schon auf der verlinkten Seite

Wird eine Spalte ohne DEFAULT-Wert angelegt und als NOT NULL definiert, legt MySQL, abhängig vom Datentyp einen Defaultwert automatisch fest.

- Bei nummerischen Datentypen ist dies 0.

- Bei DATE und TIME Typen ist dies der Startwert dieses Typs.

- Bei String-Typen ist dies ein leerer String.

Wenn die Spalte aber ohne NOT NULL definiert wird, dann wird der Wert NULL gespeichert.

Jetzt die Frage an die Programmierer (bitte nicht Steinigen, wenn ich mich irre):

1. Wenn z.B. bei C in einem Arrayfeld NULL steht bedeutet das doch, dass es auf keine Speicheradresse verweißt !?

2. Wenn ja, heißt das, dass für dieses Arrayfeld auch noch kein Speicher reserviert wurde?

3. Sollte ich mit den ersten beiden Punkten richtig liegen, lässt sich das dann auch auf MySQL übertragen?

Worauf ich hinaus will ist, dass wenn ich NOT NULL angebe wird der Speicherplatz auf jeden Fall verwendet und die Gesamtgröße der Datenbank wächst, wenn ich jedoch nicht NOT NULL angebe wird der Speicherplatz nicht verwendet und die Größe der Datenbank ändert sich nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wird für eine Spalte kein DEFAULT vorgegeben und wird diese als NOT NULL definiert, wird der Wert NULL als DEFAULT verwendet.

Wird eine Spalte ohne DEFAULT-Wert angelegt und als NOT NULL definiert, legt MySQL, abhängig vom Datentyp einen Defaultwert automatisch fest.

1. Satz: kein DEFAULT, NOT NULL --> Wert = NULL

2. Satz: kein DEFAULT, NOT NULL --> Wert = Autowert

Die Sätze sagen zwei mal das selbe aus, nur mit unterschiedlichen Ergebnissen. Im ersten Satz fehlt das nicht in Bezug auf das NOT NULL. Korrekt müsste der Satz folgendermaßen lautet:

Wird für eine Spalte kein DEFAULT vorgegeben und wird diese nicht als NOT NULL definiert, wird der Wert NULL als DEFAULT verwendet.
Allerdings trifft dich keine Schuld :D , das steht schon auf der angegebenen Seite falsch.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

im Grunde nicht, nur musst du dir vorher überlegen, was sinnvoll ist. Wenn du z. B. eine Datenbank mit Personen erstellst, kann es niemals sein, dass eine Person keinen Vornamen hat.

Dann ergibt NULL Sinn, da das quasi bedeutet, dass der Name momentan fehlt. Wenn du da einen Leerstring einfügst, hieße das, dass der Name vorhanden, aber eben leer ist.

Für eine erzwungene Eingabe müsste dann deine Applikation sorgen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...