IT박스

명명 된 기본 제약 조건 및 명명 된 외래 키 제약 조건으로 테이블 추가 열을 변경하는 방법은 무엇입니까?

itboxs 2020. 12. 30. 07:54
반응형

명명 된 기본 제약 조건 및 명명 된 외래 키 제약 조건으로 테이블 추가 열을 변경하는 방법은 무엇입니까?


두 개의 기존 테이블 (TableA 및 TableB)이 있고 TableB에 대한 외래 키가 있고 null이 아닌 기본값이있는 새 열을 TableA에 추가해야하며 이러한 제약 조건 모두에 이름을 지정해야합니다. 어떻게 할 수 있습니까?


하나의 문장에 두 가지 제약 조건을 모두 추가하는 것은 내가 생각했던 것만 큼 쉽지 않았고 거기에 많은 예가없는 것 같았 기 때문에 (적어도 쉽게 찾을 수 없었습니다) 그래서 저는 그렇게 생각했습니다. 내가 여기서 어떻게했는지 공유하고 누군가가 더 나은 방법을 제안 할 수 있을까요?

ALTER TABLE [table name] ADD
    [New Column Name] [Column Type] 
    CONSTRAINT [constraint name] DEFAULT ([default value]) NOT NULL,
    CONSTRAINT [constraint name] FOREIGN KEY ([New Column Name]) 
    REFERENCES [Other Table] ([Foreign ID])

예:

ALTER TABLE tableA ADD
    myNewColumn BIGINT 
    CONSTRAINT myNamedConstraint_df default (1) NOT NULL,
    CONSTRAINT myNamedConstraint_fk FOREIGN KEY (myNewColumn)
    REFERENCES tableB (tableBPrimaryKeyID)

SQL Server Management Studio에서 두 부분으로 나누어 수행했습니다.

ALTER TABLE MyTable
ADD MyId uniqueidentifier DEFAULT (NEWID())

그런 다음 GUID를 새 열에 실제로 있어야하는 것으로 수동으로 변경했습니다. 그런 다음 외래 키 제약 조건을 추가했습니다.

ALTER TABLE MyTable
ADD FOREIGN KEY (MyId )
REFERENCES OtherTable(Id)

참조 URL : https://stackoverflow.com/questions/13033379/how-to-alter-table-add-column-with-named-default-constraint-and-named-foreign-ke

반응형