2011-05-06 22 views

cevap

14
CREATE TABLE Person(
P_Id int NOT NULL IDENTITY(1,1) PRIMARY KEY, 
Name varchar(255)) 

Açıkça NAME böylece current connection settings that happen to be in effect bağımlı olmayan NULL veya NOT NULL olup olmadığını belirtmelidir.

+0

'AUTO_INCREMENT' ile ilgili bir sorun yaşadım. 'IDENTITY (1,1)' ile değiştirildi ve mükemmel çalıştı. Teşekkürler! –

0
create table Person 
(
    PersonId int identity(1,1) 
     constraint PK_Person primary key, 
    Name varchar(255) not null 
) 

Bazı yorumlar: kimlik sütunu olarak kimlik sütun için not null belirtmek için gerekli değildir

  1. null olamaz. ANSI_NULL_DFLT_ON seçeneği, kimlik sütununun 'null yapısını' etkilemez.
  2. Diğer taraftan, ANSI_NULL_DFLT_ON değerinden etkileneceğinden, Ad sütunu için 'null/null' belirtmemek önemlidir.
  3. Kısıtlama adlarını açıkça belirtmek her zaman iyi bir fikirdir. Çünkü yapmazsanız, ad kısıtlaması adı oluşturulur. Kısıtlamayı daha sonra silmeniz gerekiyorsa, otomatik oluşturulan adı bulmanız gerekecektir.