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

what will happen to orphaned rows in a table if I add foreign key to one of the columns

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

如果我更改 table 并将该列设为外键约束,将会发生什么变化。

表格:

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

我会丢失孤立行吗?

编辑: 1. 使用正确的 FK 约束重新创建 table 并将数据从旧的 table 移植到新的 table 是否有意义?

MySQL 将禁止创建外键索引,如果它会导致子 table.

中的 "orphaned" 记录

您可以使用

强制创建索引
set foreign_key_checks = 0;

在 运行 您的 alter 查询之前 - 但您最终将不得不清理悬空记录。