首批通过分布式安全可靠测评,为关键业务系统打造
foreign_key_checks
更新时间:2026-06-18 10:13:19
说明
该变量从 V2.1 版本开始引入。
功能描述
foreign_key_checks 用于设置是否在 DML/DDL 中检查外建约束。
功能适用性
该变量仅适用于 OceanBase 数据库 MySQL 模式。
权限要求
查询变量
Global 级别
sys租户和所有用户租户均可以使用SHOW VARIABLES语句或视图information_schema.GLOBAL_VARIABLES(MySQL 模式)查看 Global 系统变量的值。Session 级别
sys租户和所有用户租户均可以使用SHOW VARIABLES语句或视图information_schema.SESSION_VARIABLES(MySQL 模式)查看 Session 系统变量的值。
修改变量
Global 生效
sys租户可以直接修改 Global 系统变量的值。MySQL 用户租户需要拥有
SUPER或ALTER SYSTEM权限才能修改 Global 系统变量的值。
Session 生效
sys租户和所有用户租户均可以直接修改本租户的 Session 系统变量的值。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | Bool |
| 默认值 | 1 |
| 取值范围 |
|
| 生效范围 |
|
| 是否可修改 | 是,支持通过 SET 语句修改。 |
使用说明
OceanBase 数据库默认开启了外键约束检查,外键约束检查开关由租户变量 foreign_key_checks 来控制。创建外键约束时,如果不指定外键名,系统会自动分配一个约束名,自动分配的约束名为 表名 _OBFK_ 创建时间戳。例如 t1_OBFK_1627747200000000。
配置示例
设置在 DML/DDL 中检查外建约束。
Session 生效
obclient> SET foreign_key_checks = ON;或
obclient> SET foreign_key_checks = 1;Global 生效
obclient> SET GLOBAL foreign_key_checks = ON;或
obclient> SET GLOBAL foreign_key_checks = 1;