14 March 2012

กำหนด FOREIGN KEY in Mysql

ก่อนที่คุณจะตั้งค่าความสัมพันธ์ได้นั้น Storage Engine: ต้องเป็น InnoDB ด้วยนะครับ ถึงจะใช้ได้ นะครับ
ALTER TABLE `ตารางที่ต้องการกำหนด`  ADD CONSTRAINT `ชื่อของการเชื่อมต่อ` FOREIGN KEY ( `ชื่อของ attribute ของตารางที่จะกำหนด `) REFERENCES `ชื่อตารางเป้าหมาย` ( `ชื่อของ attribute ของตารางเป้าหมาย` ) ON DELETE CASCADE ON UPDATE CASCADE;


ON DELETE CASCADE ON UPDATE CASCADE
เป็นการกำหนดว่า เมื่อ แก้ไข หรือ ลบ แถวใน Primary KEY จะทำให้มีส่วนเปลี่ยนแปลง ที่ตาราง Foreign KEY ด้วย

แต่ถ้าไม่กำหนด คำสั่งข้างต้น จะทำให้ ไม่มีผลดังข้างบน แต่กลับจะมีผลว่า เมื่อคุณต้องการที่จะลบข้อมูลใน Foreign KEY คุณจะต้อง ลบที่ Primary KEY ก่อนเสมอ ไม่อย่างนั้นจะทำไม่ได้ นะครับ

ผิดพลาดยังไง แสดงความคิดเห็นได้ครับ

No comments:

Post a Comment