FOREIGN KEY (외래키)는 다른 TABLE과 현재 TABLE을 연결하기 위해 설정합니다.
FOREIGN KEY는 보통 TABLE 생성 시 지정합니다.
REF_TABLE은 연결할 다른 TABLE이며, REF_COLUMN은 연결할 TABLE 내 COLUMN입니다.
(보통은 PRIMARY KEY를 입력합니다.)
CREATE TABLE tablename
(
column1 datatype NOT NULL,
column2 datatype,
...
CONSTRAINT constraint_name #이 부분은 생략 가능합니다.
PRIMARY KEY (column1, column2,...)
CONSTRAINT constraint_name #이 부분은 생략 가능합니다.
FOREIGN KEY (column1, column2,...) REFERENCES ref_table(ref_column)
);
FOREIGN KEY는 삭제 시 CONSTRAINT_NAME을 입력합니다.
ALTER TABLE tablename
DROP FOREIGN KEY constraint_name;
FOREIGN KEY 생성 시 CONSTRAINT를 생략하는 경우 자동 생성됩니다.
삭제 시 CONSTRAINT_NAME 정보가 필요합니다.
SHOW CREATE TABLE tablename;
이미 FOREIGN KEY 없이 생성된 TABLE에도 추가 가능합니다.
ALTER TABLE tablename
ADD FOREIGN KEY(column1, column2,...) REFERENCES ref_table(ref_column);
가정)
CREATE TABLE testTABLE
(
ID int NOT NULL,
NAME varchar(32),
...
CONSTRAINT p.ID #이 부분은 생략 가능합니다.
PRIMARY KEY (ID)
CONSTRAINT f.NAME #이 부분은 생략 가능합니다.
FOREIGN KEY (NAME) REFERENCES exampleTABLE(NICKNAME)
);
FOREIGN KEY는 삭제 시 CONSTRAINT_NAME을 입력합니다.
ALTER TABLE testTABLE
DROP FOREIGN KEY f.NAME;
FOREIGN KEY 생성 시 CONSTRAINT를 생략하는 경우 자동 생성됩니다.
삭제 시 CONSTRAINT_NAME 정보가 필요합니다.
SHOW CREATE TABLE testTABLE;
이미 FOREIGN KEY 없이 생성된 TABLE에도 추가 가능합니다.
ALTER TABLE testTABLE
ADD FOREIGN KEY(ID) REFERENCES exampleTABLE(NO);