sourcecode

ID 컬럼을 사용한 테이블 작성 방법

codebag 2023. 4. 18. 22:36
반응형

ID 컬럼을 사용한 테이블 작성 방법

기존 테이블이 있습니다.이 테이블은 이미 생성되지 않았기 때문에 날려버리려고 합니다.ID테이블의 Identity 컬럼으로 설정된 컬럼입니다.

SQL Server Management Studio를 사용하여 기존 테이블의 "Create To..."를 스크립트로 작성하면 다음과 같이 표시됩니다.

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]

질문입니다. 어떻게 수정하면 될까요?SQL그래서 내 결과 테이블이ID아이덴티티로 설정된 컬럼?

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]

이것은 이미 답변이 끝난 상태이지만, 가장 간단한 구문은 다음과 같습니다.

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

보다 복잡한 구속조건 인덱스는 실제로 옵션을 변경하려는 경우에 유용합니다.

덧붙여서, 저는 이러한 컬럼에 HistoryId라는 이름을 붙이는 것을 선호하기 때문에, 외부 키 관계에 있는 컬럼의 이름과 일치합니다.

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

물론 SQL Server Management Studio에서 테이블을 작성하기 때문에 테이블 디자이너를 사용하여 ID 사양을 설정할 수 있습니다.

여기에 이미지 설명 입력

고유 키를 사용하면 최대 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')

매번 다음과 같은 오류가 발생합니다.

UNIQURE KEY 제약 조건 위반'UQ__teppp__72E12F1B2E1BDC42' 입니다.개체 'dbo.tepp'에 중복 키를 삽입할 수 없습니다.
문이 종료되었습니다.

언급URL : https://stackoverflow.com/questions/10725705/how-to-create-table-with-identity-column

반응형