MySQL外键检查会影响整个数据库吗?
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 |
范围 | 全局、会话 |
动态 | 是 |
类型 | 布尔 |
默认值 | ON |
设置 foreign_key_checks 为 0
它影响数据定义语句:即使包含表格有外键(是指模式外部表格的外键)的模式,DROP SCHEMA 也会删除该模式,而 DROP TABLE 会删除有外键(是指其他表格的外键)的表格。
设置 foreign_key_checks 为 1
它不会触发现有表格数据的扫描。因此,在 foreign_key_checks=0 时添加到表格的行不会被验证是否一致。
宣传