sql >> Databáze >  >> RDS >> Sqlserver

Proč v TSQL používat nenulový primární klíč?

Upraveno pro přehlednost

Podle specifikace SQL nemůže primární klíč obsahovat hodnotu NULL. To znamená, že zdobení sloupce pomocí „NOT NULL PRIMARY KEY“ nebo pouze „PRIMARY KEY“ by mělo dělat totéž. Ale spoléháte na to, že dotyčný SQL engine správně dodržuje SQL standard. Jako příklad z důvodu rané chyby SQL Lite neimplementuje správně standard a povoluje hodnoty null v neceločíselných primárních klíčích (viz sqlite.org/lang_createtable.html). To by pro (alespoň) SQLLite znamenalo, že dva příkazy dělají dvě různé věci.

Vzhledem k tomu, že „NOT NULL PRIMARY KEY“ jasně ukazuje záměr a nadále vyžaduje nenulové hodnoty, i když je primární klíč odstraněn, měla by to být preferovaná syntaxe.



  1. MySQL – kolik řádků mohu vložit do jednoho příkazu INSERT?

  2. Nástroje pro generování diagramu databázových tabulek pomocí PostgreSQL?

  3. Jak funguje funkce SPACE() na serveru SQL Server (T-SQL)

  4. SET versus SELECT při přiřazování proměnných?