สามารถใช้ Foreign Key เพื่อสร้างความสัมพันธ์ระหว่างตารางได้ ความสัมพันธ์ของคีย์ต่างประเทศอาจเป็นแบบหนึ่งต่อหนึ่งหรือหนึ่งต่อหลายก็ได้ คีย์นอกตรงกับฟิลด์อื่นของตารางอื่น
-
ความสัมพันธ์แบบหนึ่งต่อหนึ่ง − หนึ่งระเบียนจากตารางหนึ่งจะเชื่อมโยงกับระเบียนหนึ่งในอีกตารางหนึ่ง
-
หนึ่งต่อหลายความสัมพันธ์ − หนึ่งระเบียนจะเชื่อมโยงกับหลายระเบียนในอีกตารางหนึ่ง
ต่อไปนี้เป็นตัวอย่าง ขั้นแรกเราจะสร้างตาราง คำสั่ง CREATE ใช้สำหรับสร้างตาราง
mysql> สร้างตาราง tblF -> ( -> id int , -> FirstName varchar(100), -> FK_PK int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที)
เพื่อสร้างตารางที่สอง
mysql> สร้างตาราง tblP -> ( -> FK_PK int, -> นามสกุล varchar(100), -> คีย์หลัก (FK_PK) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.94 วินาที)
ต่อไปนี้เป็นรูปแบบการสร้างคีย์นอก
mysql> แก้ไขตาราง tblF เพิ่มข้อจำกัด ConstFK foreign key(FK_PK) อ้างอิง tblP(FK_PK) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (2.17 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0
ตรวจสอบว่ามีการสร้างคีย์ต่างประเทศโดยใช้คำสั่ง DESC หรือไม่
mysql> DESC tblF;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+--------------+------+----+------ -----------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-----------+--------------+------+-----+------- ---+-------+| id | int(11) | ใช่ | | NULL | || ชื่อจริง | varchar(100) | ใช่ | | NULL | || FK_PK | int(11) | ใช่ | MUL | NULL | |+-----------+--------------+------+----+-------- --------+3 แถวในชุด (0.05 วินาที)