sql >> Databasteknik >  >> RDS >> Sqlserver

Varför ska man använda primärnyckeln inte null i TSQL?

Redigerad för tydlighetens skull

Enligt SQL-specifikationen kan en primärnyckel inte innehålla NULL. Det betyder att dekoration av en kolumn med antingen "NOT NULL PRIMARY KEY" eller bara "PRIMARY KEY" bör göra samma sak. Men du litar på att SQL-motorn i fråga följer SQL-standarden korrekt. Som ett exempel på grund av en tidig bugg, implementerar SQL Lite inte standarden korrekt och tillåter null-värden i primärnycklar som inte är heltal (se sqlite.org/lang_createtable.html). Det skulle betyda för (åtminstone) SQLLite att de två satserna gör två olika saker.

Eftersom "NOT NULL PRIMARY KEY" tydligt indikerar avsikt och fortsätter att kräva icke-nullvärden även om primärnyckeln tas bort, bör det vara den föredragna syntaxen.



  1. Skadliga, genomgripande SQL Server-prestandamyter

  2. Gå med oss ​​för Microsoft Access med SQL Server Academy del II

  3. Hur man väljer rätt databas för ditt företag

  4. Lägg till en kolumn i en tabell i SQL