Skip to content

Exchange partition cannot be used after creating/dropping a foreign key #51807

@YangKeao

Description

@YangKeao

Bug Report

1. Minimal reproduce step (Required)

create table parent (id int unique);
create table child (id int, parent_id int, foreign key (parent_id) references parent(id));
create table child_with_partition(id int, parent_id int) partition by range(id) (partition p1 values less than (100));
alter table child drop foreign key fk_1;
alter table child drop key fk_1;
alter table child_with_partition exchange partition p1 with table child;

2. What did you expect to see? (Required)

Partition exchanged successfully.

3. What did you see instead (Required)

mysql> alter table child_with_partition exchange partition p1 with table child;
ERROR 1740 (HY000): Table to exchange with partition has foreign key references: 'child'

4. What is your TiDB version? (Required)

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects-5.4This bug affects the 5.4.x(LTS) versions.affects-6.1This bug affects the 6.1.x(LTS) versions.affects-6.5This bug affects the 6.5.x(LTS) versions.affects-7.1This bug affects the 7.1.x(LTS) versions.affects-7.5This bug affects the 7.5.x(LTS) versions.report/customerCustomers have encountered this bug.severity/majorsig/sql-infraSIG: SQL Infratype/bugThe issue is confirmed as a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions