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

ทำความเข้าใจพื้นฐานของคีย์ต่างประเทศใน MySQL หรือไม่


สามารถใช้ 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 วินาที)