MariaDB 10.3.16如何查看约束值?执行查询返回空结果
在MariaDB 10.3.16中查看外键检查约束状态的正确方法
你之前查询INFORMATION_SCHEMA.CHECK_CONSTRAINTS返回空结果的原因是:这个表仅用于存储表定义中的CHECK约束规则,和你操作的foreign_key_checks系统变量完全无关——如果你的数据库中没有定义任何CHECK约束,这个表自然是空的。
要确认foreign_key_checks的当前值(也就是外键检查是否启用),可以用以下几种方式:
方式一:使用SHOW VARIABLES语句
SHOW VARIABLES LIKE 'foreign_key_checks';执行后会返回当前会话的变量值,
ON表示启用外键检查,OFF表示禁用。方式二:查询INFORMATION_SCHEMA的变量表
如果要查看会话级别的值:SELECT variable_value FROM information_schema.session_variables WHERE variable_name = 'foreign_key_checks';如果要查看全局级别的默认值:
SELECT variable_value FROM information_schema.global_variables WHERE variable_name = 'foreign_key_checks';
补充说明:你之前执行的SET FOREIGN_KEY_CHECKS=0或SET SESSION foreign_key_checks=OFF都是针对当前会话生效的,所以查询会话级变量就能确认操作是否成功。
内容的提问来源于stack exchange,提问作者codelifevcd
相关产品推荐
相关产品推荐

