开发者社区> 问答> 正文

OceanBase数据库中导入数据的时候存在外键,导致删表重建表失败,这个应该如何处理?

"OceanBase数据库中导入数据的时候存在外键,导致删表重建表失败,这个应该如何处理?关停外键约束? 导入后再打开?
2023-10-11 22:34:06 [ERROR] ....Loading sql of SQL-format file: ""aaaa-schema.sql"" exec failure. (1/2). Reason: Cannot drop table 'aaaa' referenced by a foreign key constraint 'aaaa_group_member_ibfk_1' on table 'aaaa_group_member'. SQL: drop TABLE if exists aaaa

aaaa和aaaa_group_member表存在外键关系
aaaa-schema.sql文件里面有语句:drop TABLE if exists aaaa
Version: 4.2.5-RELEASE"

展开
收起
十一0204 2023-10-17 13:19:07 286 0
来自:OceanBase
1 条回答
写回答
取消 提交回答
  • 在导入数据时,如果存在外键约束,可以先关闭外键约束,然后再进行删除表和重建表的操作。具体操作如下:

    1 首先,关闭外键约束。可以通过以下SQL语句实现:

    ALTER TABLE aaaa_group_member DISABLE TRIGGER ALL;
    

    2 然后,删除表aaaa:

    DROP TABLE IF EXISTS aaaa;
    

    3 最后,重新创建表aaaa,并打开外键约束:

    CREATE TABLE aaaa ...;
    ALTER TABLE aaaa_group_member ENABLE TRIGGER ALL;
    

    4 导入数据:

    LOAD DATA INFILE 'aaaa-schema.sql' INTO TABLE aaaa;
    

    这样,就可以成功导入数据,同时避免了因为外键约束导致的问题。

    2023-10-31 23:33:54
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载