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)

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: