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

MySQL foreign_key_checks มีผลกับฐานข้อมูลทั้งหมดหรือไม่


foreign_key_checks เป็นเซสชันตาม ตอนนี้ เราสามารถพูดได้ว่ามันมีไว้สำหรับขอบเขต เช่น ระดับท้องถิ่นหรือระดับโลก นี่คือตัวอย่างตัวอย่างของท้องถิ่นหรือทั่วโลก ทั้งสองเป็นขอบเขตและเราตั้งค่านี้สำหรับเซสชันได้

ให้เรากำหนดขอบเขต -

mysql> set foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global foreign_key_checks = 0;
Query OK, 0 rows affected (0.05 sec)

ตัวแปร foreign_key_checks เป็นตัวแปรระบบเซิร์ฟเวอร์ นี่คือรายละเอียดเพิ่มเติม -

คุณสมบัติ ค่า
ตัวแปรระบบ foreign_key_checks
ขอบเขต ทั่วโลก เซสชัน
ไดนามิก ใช่
ประเภท บูลีน
ค่าเริ่มต้น เปิด

ตั้งค่า foreign_key_checks เป็น 0

มีผลกับคำสั่งข้อกำหนดของข้อมูล:DROP SCHEMA จะดร็อปสคีมาแม้ว่าจะมีตารางที่มีคีย์ภายนอกที่อ้างอิงโดยตารางภายนอกสคีมา และ DROP TABLE จะดร็อปตารางที่มีคีย์ภายนอกที่ตารางอื่นๆ อ้างถึง

ตั้งค่า foreign_key_checks เป็น 1

ไม่เรียกใช้การสแกนข้อมูลตารางที่มีอยู่ ดังนั้น แถวที่เพิ่มลงในตารางในขณะที่ foreign_key_checks=0 จะไม่ถูกตรวจสอบความสอดคล้อง