我有两张桌子。两者仍在使用中。但是我要将这些数据从旧表迁移到更新的表。现在的问题是。旧表仍然在当前应用程序中处于活动状态。因此,新数据库需要更新旧数据库。所以我需要比较一个新表来匹配旧表上的当前行。我的想法是找到新表上不存在的内容,然后从旧表中更新它。所以我只能找到列出新表上没有的内容的方法如下:(t1是旧表)
SELECT t1.pic
FROM my_db.car_pix t1
LEFT JOIN my_v2.car_pix t2 ON t2.name = t1.pix_file
WHERE t2.pix_file IS NULL
但我需要使用此查询中找到的结果更新新表。我不敢尝试,因为db仍在使用中。所以请建议我这样做的最好方法。
此致
答案 0 :(得分:2)
尝试以下SQL:
UPDATE my_db.car_pix t1
LEFT JOIN my_v2.car_pix t2 ON t2.name = t1.pix_file
SET COLUMN = 'VALUE'
WHERE t2.pix_file IS NULL
答案 1 :(得分:-1)
我根据真实故事得到了自己的解决方案:)
insert into my_v2.car_pix (tent_id,prov_id,pix_file,car_type,pix_date)
select tid,pid,pic,car_type,pix_date
from my_db.car_pix where not my_db.car_pix.pic='my_v2.car_pix.pix_file'