Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ไวยากรณ์การสร้าง Foreign Key ใน MySQL

ใช้ ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY ... REFERENCES เพื่อสร้าง Foreign Key หลังสร้างตารางแล้ว

ไวยากรณ์

ALTER TABLE yourSecondTableName 
ADD CONSTRAINT yourConstraintName 
FOREIGN KEY(yourForeignKeyColumnName) 
REFERENCES yourFirstTableName(yourPrimaryKeyColumnName);

ตัวอย่างการใช้งาน

สร้างตารางแรก (Department_Table):

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)

สร้างตารางที่สอง (Employee_Table) - สังเกต: REFERENCES ในคอลัมน์ไม่สร้าง FK จริง:

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)

สร้าง Foreign Key จริงด้วย ALTER TABLE:

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)

จุดสำคัญ: การเขียน REFERENCES ในคอลัมน์ขณะ CREATE TABLE ใน MySQL (storage engine InnoDB) จะไม่สร้าง FK จริง ต้องใช้ ALTER TABLE แยกต่างหาก