source

명명된 기본 제약 조건과 명명된 외부 키 제약 조건을 사용하여 테이블 추가 열을 변경하는 방법은 무엇입니까?

manycodes 2023. 6. 30. 22:29
반응형

명명된 기본 제약 조건과 명명된 외부 키 제약 조건을 사용하여 테이블 추가 열을 변경하는 방법은 무엇입니까?

두 개의 기존 테이블(TableA 및 TableB)이 있으며 테이블 B에 대한 외부 키가 있고 null이 아닌 기본값을 가진 새 열을 테이블 A에 추가해야 합니다.그리고 이 두 제약 조건 모두 이름을 지정해야 합니다.어떻게 해야 하나요?

한 진술서에 두 제약 조건을 추가하는 것은 제가 생각했던 것만큼 쉽지 않았고, 많은 예가 있는 것 같지 않았습니다(적어도 저는 쉽게 찾을 수 없었습니다). 그래서 저는 제가 어떻게 여기서 그것을 했는지 공유하고 누군가가 더 나은 방법을 제안할 수 있다고 생각했습니다.

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)

MySQL에 제약 조건이 있는 열을 추가하는 방법에 대한 질문에서 여기로 이동하는 것이 일반적이기 때문에 여기에도 답을 추가하겠습니다.

CREATE TABLE tableA (id BIGINT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id));
CREATE TABLE tableB (id BIGINT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id));
ALTER TABLE tableA ADD
    myNewColumn BIGINT DEFAULT 42 NOT NULL,
    ADD CONSTRAINT myNamedConstraint_fk FOREIGN KEY (myNewColumn) REFERENCES tableB (id);

나는 또한 이름을 지을 방법이 없다고 생각합니다.DEFAULTMySQL의 제약 조건sql-server다른 대답은, 제가 틀렸다면 고쳐주세요.

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

반응형