Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

외래 키를 만드는 MySQL 구문?

<시간/>

외래 키를 생성하는 구문은 다음과 같습니다 -

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: