我将使用插图来说明我的问题。 SQL迁移:
在所附的图像中有2个SQL表,表2引用了表1的主键。表1但是有很多重复项,因此我使用Excel删除了所有重复项,并将数据导入到具有一组新表的新表中ID。我现在必须像以前一样将表2导入新表并再次引用表1。现在在图像中,看起来很容易做到这一点,但是在消除了大约700个重复项之后,我正在处理2000行以上的数据库。除了手动编辑每行并匹配它们之外,还有其他任何方法可以快速完成。这是我第一次进行数据库迁移,但猜测那里有一种快速的方法。 Google搜索实际上没有任何结果。感谢您的帮助。
答案 0 :(得分:0)
要预览您需要从第二张表中删除的数据,请运行以下命令:
select * from names
where place_id NOT in (select id from places)
如果您对结果满意,可以运行
delete from names
where place_id NOT in (select id from places)
答案 1 :(得分:0)
将table2复制到table2New
之后update table2New
set PlaceNameID = (select t1N.ID
from table2 as t2
join table1 as t1
on t1.ID = t2.PlaceNameID
join table1new as t1N
on t1.PlaceName = t1N.PlaceName
where table2New.ID = t2.ID
);