sql >> Database teknologi >  >> RDS >> Sqlserver

Hvorfor bruge ikke null primær nøgle i TSQL?

Redigeret for klarhedens skyld

Ifølge SQL-specifikationen kan en primær nøgle ikke indeholde NULL. Det betyder, at dekoration af en kolonne med enten "NOT NULL PRIMARY KEY" eller bare "PRIMARY KEY" bør gøre det samme. Men du stoler på, at den pågældende SQL-motor følger SQL-standarden korrekt. Som et eksempel på grund af en tidlig fejl implementerer SQL Lite ikke standarden korrekt og tillader null-værdier i primærnøgler uden heltal (se sqlite.org/lang_createtable.html). Det ville betyde for (i det mindste) SQLLite, at de to sætninger gør to forskellige ting.

Da "NOT NULL PRIMARY KEY" tydeligt angiver hensigten og fortsætter med at fremtvinge ikke-nul-værdier, selvom den primære nøgle fjernes, bør det være den foretrukne syntaks.



  1. Postgres analog til CROSS APPLY i SQL Server

  2. Hvordan kontrolleres resultaterne af SSIS-pakkejob, efter at den har fuldført sin udførelse?

  3. PostgreSQL videregiver data fra rekursiv CTE til funktion

  4. Efter gendannelse af min database fjernet serien fra kolonnen i Postgresql