- RESTRICT เป็นค่า default คือ ไม่อนุญาติให้ ลบ หรือ แก้ไข ค่าข้อมูล ใน PRIMARY KEY ได้
ถ้ายังมีค่าข้อมูลใน FOREIGN KEY อยู่ ต้องไปลบ row ที่ใช้ ข้อมูลจาก Primary key นั้นๆก่อนครับ- No Action คล้ายๆกับ RESTRICT ครับ คือไม่อนุญาติให้ ลบ หรือ แก้ไข ค่าข้อมูล ใน PRIMARY KEY ได้
ถ้ายังมีค่าข้อมูลใน FOREIGN KEY อยู่ จะมีการตรวจสอบแถวที่มีการอ้างอิงถึงในตอนท้ายของ statement
- CASCADE คือ ถ้ามีการลบหรือแก้ไขค่าข้อมูลใน PRIMARY KEY แล้วค่าข้อมูลใน FOREIGN KEY จะเปลี่ยนแปลงตาม
- SET NULL คือ ถ้ามีการลบหรือแก้ไขค่าข้อมูลใน PRIMARY KEY แล้วค่าข้อมูลใน FOREIGN KEY จะเป็นค่า NULL
- SET DEFAULT คล้ายๆกับ SET NULL ครับ เพียงแค่ เมื่อมีการลบ ข้อมูล Primary Key ทิ้งแล้วข้อมูลที่ถูกอ้างอิงจะเปลี่ยนเป็น ค่าที่ถูกตั้งไว้ เช่นเมื่อข้อมูลที่อ้างอิงถูกลบ column ที่ FK มาจะให้กลายเป็น ค่า "0"
อ้างอิงจาก http://code.function.in.th/sql/constraint
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_53/sqlp/rbafyrfdeleting.htm?lang=th
http://www-01.ibm.com/support/knowledgecenter/api/content/ssw_ibm_i_53/sqlp/rbafyrfupdating.htm#rbafyrfupdating
0 ความคิดเห็น :
แสดงความคิดเห็น