如果我将外键添加到其中一列中,表中的孤立行会发生什么

时间:2015-01-02 15:01:50

标签: mysql rdbms

RDBMS中具有外键列但未标记为一个列的表导致许多孤立行。

如果我更改表并使该列成为外键约束,那么会发生什么变化。

表:

Posts: id, title, body, user_id (currently not marked as FK)

我会失去孤儿行吗?

编辑: 1.使用正确的FK约束和从旧表到新表的端口数据重新创建表是否有意义?

1 个答案:

答案 0 :(得分:0)

如果在子表中导致“孤立”记录,MySQL将禁止创建外键索引。

您可以使用

强制创建索引
set foreign_key_checks = 0;

在运行alter查询之前 - 但您最终必须清理悬空记录。