Scope ของ foreign_key_checks
foreign_key_checks เป็น Session Variable (มี Scope ทั้ง Global และ Session)
ตั้งค่า Session (เฉพาะการเชื่อมต่อปัจจุบัน)
mysql> set foreign_key_checks = 0; Query OK, 0 rows affected (0.00 sec)
ตั้งค่า Global (สำหรับ Session ใหม่ทั้งหมด)
mysql> set global foreign_key_checks = 0; Query OK, 0 rows affected (0.05 sec)
รายละเอียด System Variable
| Property | Value |
|---|---|
| System Variable | foreign_key_checks |
| Scope | Global, Session |
| Dynamic | Yes |
| Type | Boolean |
| Default Value | ON (1) |
ผลกระทบเมื่อตั้งค่า = 0 (ปิด)
DROP SCHEMA: ลบ Schema ได้แม้มีตารางที่ถูกอ้างอิงจากตารางนอก SchemaDROP TABLE: ลบตารางได้แม้มี FK อ้างอิงจากตารางอื่น- ไม่ตรวจสอบ FK ขณะ INSERT/UPDATE
ผลกระทบเมื่อตั้งค่า = 1 (เปิด - ค่าเริ่มต้น)
- ไม่สแกนข้อมูลเก่าระหว่างเปิดใช้งาน
- แถวที่เพิ่มขณะ OFF ไม่ถูกตรวจสอบความสอดคล้อง
ข้อควรระวัง: การปิด FK Checks ควรทำเฉพาะช่วงนำเข้า/ย้ายข้อมูล แล้วควรเปิดกลับทันที