Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

NOT NULL in mysql

Empfohlene Antworten

Veröffentlicht

Hallo

was bewirkt die Angage von not null beim erstellen von Tabellen? Ich kann trotzdem bei insert anweisungen auch "nichts" einfügen! Wenn ich z.B. den Parameter einfach weglasse!

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

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 ....

@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.

HAE ? könntet ihr euch mal präziser ausdrücken ? was wollt ihr ? beide sätze stimmen ohne wenn und aber

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.

also das ganze hat nichts damit zu tun, dass ich ungedingt etwas einfügen muss?

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.