Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dlaczego używać klucza podstawowego nie zerowego w TSQL?

Edytowano dla jasności

Zgodnie ze specyfikacją SQL klucz podstawowy nie może zawierać wartości NULL. Oznacza to, że dekorowanie kolumny „NOT NULL PRIMARY KEY” lub po prostu „PRIMARY KEY” powinno zrobić to samo. Ale polegasz na tym silniku SQL, który jest zgodny ze standardem SQL. Na przykład, ze względu na wczesny błąd, SQL Lite nie implementuje poprawnie standardu i dopuszcza wartości null w niecałkowitych kluczach podstawowych (patrz sqlite.org/lang_createtable.html). Oznaczałoby to, że dla (przynajmniej) SQLLite te dwie instrukcje robią dwie różne rzeczy.

Ponieważ „NOT NULL PRIMARY KEY” wyraźnie wskazuje intencję i nadal wymusza wartości inne niż null, nawet jeśli klucz podstawowy zostanie usunięty, powinna to być preferowana składnia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimportować bazę danych SQL Server do programu Access 2016

  2. Odroczone ograniczenia w SQL Server

  3. Jak rzeczy i „Dla ścieżki XML” działają w programie SQL Server?

  4. Jak utworzyć ograniczenie klucza obcego za pomocą ON DELETE CASCADE w SQL Server — SQL Server / TSQL Tutorial, część 80

  5. Jak zignorować błąd zduplikowanego klucza w T-SQL (SQL Server)