ไวยากรณ์ในการสร้างคีย์ต่างประเทศมีดังนี้ -
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)
Int Department_Id ด้านบน ไม่ใช่แผนกอ้างอิงที่เป็นค่าว่าง (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: