php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.10.2006, 17:02  
Erfahrener Benutzer
 
Registriert seit: 28.06.2008
Beiträge: 259
maeck befindet sich auf einem aufstrebenden Ast
Standard Wann NULL, NOT NULL und Standard: NULL

Hallo,

ich bin dabei eine Tabelle zu erstellen und frage mich, wann genau ich einer Spalte das Attribut NULL oder NOT NULL mitgebe und wann ich als Standard-Wert Null eingebe.

Kann mir das jemand erklären?
maeck ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.10.2006, 17:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

NULL als Standardwert ist eigentlich nicht sinnvoll, denn ohne Angabe von DEFAULT wird ohnehin NULL eigetragen.
Die Angabe von NULL im Create Statement ist m.E. nur der Übersichtlichkeit halber nötig, da per default NULL Werte in den Feldern erlaubt sind.
So bleibt NOT NULL für die Felder, die in deiner Applikation definitiv einen Inhalt haben sollen. Alternativ kannst Du NOT NULL weglassen, dafür aber einen gültigen Wert in DEFAULT eintragen, der dann bei jeder leeren Initialisierung des Feldes automat. eigetragen wird.
Abweichend wird hier beim Timestamp-Feld gehandelt: wird es auf NULL gesetzt wird das aktuelle Datum eigetragen.

PRIMARY KEYS müssen immer NOT NULL sein, ich glaube das passiert aber selbständig.
nikosch ist offline   Mit Zitat antworten
Alt 31.10.2006, 18:14  
Erfahrener Benutzer
 
Registriert seit: 28.06.2008
Beiträge: 259
maeck befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Erklärung.

Das heisst aber, dass ich die Felder schon per default auf NULL setzen sollte. Damit ich später leichtere Abfragen machen kann, oder?
maeck ist offline   Mit Zitat antworten
Alt 01.11.2006, 02:28  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

ich glaube ich verstehe dich nicht richtig...
Zitat:
Zitat von nikosch77
denn ohne Angabe von DEFAULT wird ohnehin NULL eigetragen
nikosch ist offline   Mit Zitat antworten
Alt 01.11.2006, 03:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

NULL heißt soviel wie "unbekannt" oder "ohne Wert".

Wenn es für die Spalte keinen Wert geben könnte, solltest du NULL verwenden.

Kleines Beispiel: Eine Gallery hat eine Bilderbeschränkungs-Funktion namens Spalte max_images. Du könntest jetzt natürlich die Zahl 0 eintragen, wenn die Gallery keine Beschränkung hat. Aber vielleicht ist ja 0 auch ein gültiger Wert, z.B. wenn die Gallery keine Bilder enthalten darf (z.B. weil Bilder in der Gallery nicht dauerhaft gespeichert werden dürfen).
NULL wäre hier korrekt, um der Gallery keine Beschränkung zuzuordnen.
Zergling-new ist offline   Mit Zitat antworten
Alt 01.11.2006, 13:47  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von Zergling
NULL heißt soviel wie "unbekannt" oder "ohne Wert"
Ahh du hast recht, dieses Wisssen hab ich als bekannt vorausgesetzt.
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Problem bei INSERTEN INTO RedDragon PHP Tipps 2008 37 18.07.2008 16:26
PHP/MySQL: QCodo's Code-Generator Zergling-new Tutorials 2 09.05.2008 05:33
SELECT-Abfrage optimieren pz6j89 Datenbanken 14 17.04.2008 17:37
Transaktion(en) mit der InnoDB-Engine, aber wie?! PsychoEagle Datenbanken 12 23.07.2007 12:11
where Abfrage in anderer Tabelle?? Matthiasnet Datenbanken 10 11.04.2007 17:35
Probleme bei der Umsetzung Kein Genie PHP Tipps 2007 3 02.03.2007 15:43
Normalisierung einer chaotischen Tabelle maeck Datenbanken 10 12.12.2006 18:17
Updaten Delet und Insert klappen nicht PHP Tipps 2006 13 13.06.2006 13:59
Gute Struktur heohni Datenbanken 5 29.05.2006 11:42
[Erledigt] Bestell-Tabelle ok? PHP-Fortgeschrittene 4 28.11.2005 21:35
[Erledigt] Problem mit mySQL Datenbanken 7 27.09.2005 12:06
PHP-Fehlermeldung, weiss nicht mehr weiter PHP Tipps 2005-2 12 21.09.2005 12:56
Standart SQL Dump in PHP = Arbeits/Kostenersparnis ???????? PHP-Fortgeschrittene 7 12.06.2005 11:55
[MySQL] Problem mit einer verschachtelten Abfrage aktionkuba Datenbanken 7 06.04.2005 14:07
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
not null, null not null, datenbank not null, mysql null not null, not null datenbanken, datenbanken not null, php not null, mysql null oder not null, not null datenbank, datenbank null not null, @notnull, null oder not null, null or not null, php is not null, php null nil, is null is not null, null und not null, is not null, notnull, mysql kein standard gleich not null

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.