Brei Geschrieben 7. März 2005 Teilen Geschrieben 7. März 2005 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 7. März 2005 Teilen Geschrieben 7. März 2005 Hallo, sieh mal hier: http://sql-info.de/mysql/gotchas.html#1_1 Habe früher auch immer eine andere Bedeutung vermutet, aber so kann man sich irren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 7. März 2005 Teilen Geschrieben 7. März 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brei Geschrieben 7. März 2005 Autor Teilen Geschrieben 7. März 2005 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 .... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
calumoth Geschrieben 8. März 2005 Teilen Geschrieben 8. März 2005 @baba007 Da scheint irgendwo ein "nicht" in dem Zitat zu fehlen Aber die Erklärung findet man schon auf der verlinkten SeiteWird 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 8. März 2005 Teilen Geschrieben 8. März 2005 HAE ? könntet ihr euch mal präziser ausdrücken ? was wollt ihr ? beide sätze stimmen ohne wenn und aber Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
calumoth Geschrieben 8. März 2005 Teilen Geschrieben 8. März 2005 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 , das steht schon auf der angegebenen Seite falsch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brei Geschrieben 8. März 2005 Autor Teilen Geschrieben 8. März 2005 also das ganze hat nichts damit zu tun, dass ich ungedingt etwas einfügen muss? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 8. März 2005 Teilen Geschrieben 8. März 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.