Thread NOT NULL PRIMARY KEY (5 answers)
Opened by RalphFFM at 2008-01-05 12:56

murphy
 2008-01-05 17:16
#104437 #104437
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Froschpopo+2008-01-05 12:06:17--
Der Primärschlüssel muss eindeutig sein, das bedeutet ja schon, dass wenn er NULL wäre, er es nur einmal sein dürfte.


Das ist schlicht falsch. SQL hat eine ternäre Logik und NULL ist dabei so etwas wie ein Mittelding zwischen wahr und falsch. Das bedeutet insbesondere, dass NULL = NULL nicht etwa wahr sein muss, sondern NULL sein kann!

Auch ein eindeutiger Schlüssel kann daher theoretisch beliebig oft NULL sein. Es mag allerdings sein, dass das nicht bei jeder Datenbank möglich ist. Überhaupt muss man mit NULL bei SQL etwas vorsichtig sein, weil verschiedene Datenbanken mit unter ihre eigenen Vorstellungen haben, wie dieser Wert zu behandlen ist. Eine brauchbare Übersicht findet sich zum Beispiel hier:
NULL Handling (aus der Dokumentation zu SQLite3).
When C++ is your hammer, every problem looks like your thumb.

View full thread NOT NULL PRIMARY KEY