2

问题:我有一个 Aurora RDS 数据库,其中有一个表,其中某个列的数据已被删除。我有几天前的数据库快照,我想用它来用快照中的值填充所述列。问题是同时某些行已从实时数据库中删除,我不想再次包含它们。

我想挂载快照,连接到它,然后SELECT INTO OUTFILE S3是我感兴趣的表。然后我将LOAD DATA FROM S3进入实时数据库,只选择我感兴趣的列。但是我还没有找到关于如果行数不同会发生什么的信息,即如果快照有同时从实时数据库中删除的行。

导入命令在导入时是否考虑了 ID 列?我还应该导入 ID 列吗?我不想重新创建有问题的行,我只想用快照中我想要的列中的值填充现有行。

4

1 回答 1

0

ALTER TABLE添加缺少的列的目标表。现在它将是空的数据。

LOAD DATA您导出到与最终目标表不同的表中。

然后在目标表和导入表之间UPDATE使用 a 。JOIN在此更新中,复制您要恢复的列的值。

通过使用内连接,它只会匹配两个表中都存在的行。

于 2020-01-22T16:59:13.230 回答