Computer >> Máy Tính >  >> Lập trình >> MySQL

MySQL Foreign_key_checks có ảnh hưởng đến toàn bộ cơ sở dữ liệu không?

Foreign_key_checks dựa trên phiên. Bây giờ, chúng ta có thể nói rằng chúng dành cho phạm vi, tức là cục bộ hoặc toàn cầu. Đây là một bản demo ví dụ về địa phương hoặc toàn cầu. Cả hai đều là phạm vi và chúng tôi có thể đặt điều này cho phiên.

Hãy để chúng tôi đặt phạm vi -

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)

Các biến Foreign_key_checks là các biến hệ thống máy chủ. Đây là một số chi tiết khác -

Thuộc tính Giá trị
Biến hệ thống Foreign_key_checks
Phạm vi Toàn cầu, Phiên
Động
Loại Boolean
Giá trị mặc định BẬT

Đặt Foreign_key_checks thành 0

Nó ảnh hưởng đến các câu lệnh định nghĩa dữ liệu:DROP SCHEMA bỏ một lược đồ ngay cả khi nó chứa các bảng có khóa ngoại được các bảng bên ngoài lược đồ tham chiếu và DROP TABLE loại bỏ các bảng có khóa ngoại được các bảng khác tham chiếu.

Đặt Foreign_key_checks thành 1

Nó không kích hoạt quét dữ liệu bảng hiện có. Do đó, các hàng được thêm vào bảng trong khi Foreign_key_checks =0 sẽ không được xác minh về tính nhất quán.