Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Por que usar a chave primária não nula no TSQL?


Editado para maior clareza

De acordo com a especificação SQL, uma chave primária não pode conter NULL. Isso significa que decorar uma coluna com "NOT NULL PRIMARY KEY" ou apenas "PRIMARY KEY" deve fazer a mesma coisa. Mas você está confiando no mecanismo SQL em questão seguindo corretamente o padrão SQL. Como exemplo devido a um bug inicial, o SQL Lite não implementa corretamente o padrão e permite valores nulos em chaves primárias não inteiras (consulte sqlite.org/lang_createtable.html). Isso significaria para (pelo menos) SQLLite as duas instruções fazerem duas coisas diferentes.

Como "NOT NULL PRIMARY KEY" indica claramente a intenção e continua a impor valores não nulos, mesmo que a chave primária seja removida, essa deve ser a sintaxe preferida.