외래 키를 생성하는 구문은 다음과 같습니다 -
alter table yourSecondTableName ADD CONSTRAINT yourConstraintname FOREIGN KEY(yourForeignKeyColumnName) references yourFirstTableName (yourPrimaryKeyColumnName);
위의 구문을 이해하기 위해 두 개의 테이블을 생성해 보겠습니다. 첫 번째 테이블을 생성하는 쿼리는 다음과 같습니다. -
mysql> create table Department_Table -> ( -> Department_Id int not null auto_increment primary key, -> Department_Name varchar(30) -> ); Query OK, 0 rows affected (0.83 sec)
두 번째 테이블을 생성하는 쿼리는 다음과 같습니다. -
mysql> create table Employee_Table -> ( -> EmployeeID int not null auto_increment primary key, -> EmployeeName varchar(80), -> Job varchar(30), -> Department_Id int not null references department(departmentID) -> ); Query OK, 0 rows affected (1.12 sec)
위의 Department_Id int, not null 참조 부서(departmentID)는 외래 키를 생성하지 않습니다. 이제 위의 구문에 따라 외래 키를 생성합니다.
쿼리는 다음과 같습니다 -
mysql> alter table Employee_Table ADD CONSTRAINT fk_Department_Id FOREIGN KEY(Department_Id) -> references Department_Table(Department_Id); Query OK, 0 rows affected (2.82 sec) Records: 0 Duplicates: 0 Warnings: