Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Combien de contraintes peuvent être données à une colonne d'une table dans SQL Server

"Ça dépend"

  • Clé primaire (maximum une si clusterisée, ou partie des index max non clusterisés =999 sur SQL Server 2008)
  • DEFAULT (maximum un par colonne)
  • NULL/NOT NULL (l'un ou l'autre par colonne). Oui, c'est une contrainte
  • CHECK (niveau colonne ou tableau :lots)
  • UNIQUE (partie du nombre maximum d'index non clusterisés =999 sur SQL Server 2008, 1 si clusterisé)
  • CLÉ ÉTRANGÈRE (max 253)

Remarques :

  • des choses comme une IDENTITY ou un horodatage/rowversion ou ROWGUIDCOL par table
  • vous avez un maximum de 1 024 colonnes par table standard, ce qui limite évidemment le nombre de valeurs par défaut
  • certains seront mutuellement exclusifs

Certaines sont tirées d'ici :Spécifications de capacité maximale pour SQL Server