【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】OceanBase_CE 4.0.0.0 (r100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be) (Built Nov 1 2022 14:57:18)
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
【附件】
obclient [tpch]> show create table partsupp\G
*************************** 1. row ***************************
Table: partsupp
Create Table: CREATE TABLE `partsupp` (
`ps_partkey` int(11) NOT NULL,
`ps_suppkey` int(11) NOT NULL,
`ps_availqty` int(11) NOT NULL,
`ps_supplycost` decimal(15,2) NOT NULL,
`ps_comment` varchar(199) NOT NULL,
PRIMARY KEY (`ps_partkey`, `ps_suppkey`),
CONSTRAINT `partsupp_OBFK_1667455923411962` FOREIGN KEY (`ps_partkey`) REFERENCES `tpch`.`part`(`p_partkey`) ON UPDATE RESTRICT ON DELETE RESTRICT ,
CONSTRAINT `partsupp_OBFK_1667455922968593` FOREIGN KEY (`ps_suppkey`) REFERENCES `tpch`.`supplier`(`s_suppkey`) ON UPDATE RESTRICT ON DELETE RESTRICT
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
1 row in set (0.004 sec)
# 关闭外键约束检查
obclient [tpch]> set session foreign_key_checks=0;
Query OK, 0 rows affected (0.001 sec)
# 执行清空表失败
obclient [tpch]> truncate table partsupp;
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`tpch`.`lineitem`, CONSTRAINT `lineitem_OBFK_1667455924800438` FOREIGN KEY (`l_partkey`, `l_suppkey`) REFERENCES `tpch`.`partsupp` (`ps_partkey`, `ps_suppkey`))
参考文档: foreign_key_checks -OceanBase 数据库-OceanBase文档中心-分布式数据库使用文档