복붙노트

[SQL] 식별 컬 테이블을 만드는 방법

SQL

식별 컬 테이블을 만드는 방법

난 내가 테이블의 ID 열로 ID 열에 세트를 작성하지 않았기 때문에 멀리 날려 대해 오전 기존의 테이블이 있습니다.

SQL Server Management Studio를 사용하여, 나는이 기존 테이블의 "...로 만들기"대본이있어 :

CREATE TABLE [dbo].[History](
    [ID] [int] NOT NULL,
    [RequestID] [int] NOT NULL,
    [EmployeeID] [varchar](50) NOT NULL,
    [DateStamp] [datetime] NOT NULL,
 CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

내 질문은 어떻게 그렇게 내 결과 테이블의 신원과 ID 열이 설정되어 있음이 SQL을 수정하는 것입니까?

해결법

  1. ==============================

    1.

    CREATE TABLE [dbo].[History](
        [ID] [int] IDENTITY(1,1) NOT NULL,
        [RequestID] [int] NOT NULL,
        [EmployeeID] [varchar](50) NOT NULL,
        [DateStamp] [datetime] NOT NULL,
     CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED 
    (
        [ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON)
    ) ON [PRIMARY]
    
  2. ==============================

    2.이것은 이미 대답하지만 난 간단한 구문은 생각하고있다 :

    이것은 이미 대답하지만 난 간단한 구문은 생각하고있다 :

    CREATE TABLE History (
        ID int primary key IDENTITY(1,1) NOT NULL,
        . . .
    

    실제로 옵션을 변경하고자 할 때 더 복잡한 제약 조건 지수는 유용합니다.

    이 외래 키 관계에서 열 이름을 일치하도록 그런데, 나는, 이러한 열 HistoryId 이름을 선호합니다.

  3. ==============================

    3.

    [id] [int] IDENTITY(1,1) NOT NULL,
    

    물론 SQL Server 관리 Studio에서 테이블을 만들 이후는 Identity 사양을 설정하려면 테이블 디자이너를 사용할 수 있습니다.

  4. ==============================

    4.고유 키는 최대 2 NULL 값을 허용합니다. 설명:

    고유 키는 최대 2 NULL 값을 허용합니다. 설명:

    create table teppp
    (
    id int identity(1,1) primary key,
    name varchar(10 )unique,
    addresss varchar(10)
    )
    
    insert into teppp ( name,addresss) values ('','address1')
    insert into teppp ( name,addresss) values ('NULL','address2')
    insert into teppp ( addresss) values ('address3')
    
    select * from teppp
    null string , address1
    NULL,address2
    NULL,address3
    

    아래로 같은 값을 삽입하려고 할 경우 :

    insert into teppp ( name,addresss) values ('','address4')
    insert into teppp ( name,addresss) values ('NULL','address5')
    insert into teppp ( addresss) values ('address6')
    

    때마다 당신은 오류를 같이 얻을 것이다 :

  5. from https://stackoverflow.com/questions/10725705/how-to-create-table-with-identity-column by cc-by-sa and MIT license