我有一个SQL数据库,其中一个表缺少许多外部ID(而不是pk或fk)。 我已经为Excel文件中的每个缺失数据行选择了这些缺失ID。 如何将它们插入它们所属的数据中?
答案 0 :(得分:0)
如果将数据从Excel文件加载到新表中,则可以使用基于联接的UPDATE语句来更新原始表中的那些行。
如何加载数据取决于您使用的是Microsoft SQL Server,mySQL,Oracle还是其他工具。如果Microsoft并且您已安装SQL Management Studio,则SQL Server导入和导出向导将是一个快速的解决方案。
基于联接的UPDATE语句如下所示:
update tgt
set tgt.externalID = src.externalID
from originalTable tgt
inner join myExternalFile src
on tgt.ID = src.ID
originalTable是数据库中已经存在的表,而myExternalFile是包含刚刚从Excel文件中加载的数据的表。 ID是两个表中共有的字段(可能是主键)。
如果您使用的是Oracle,则使用联接的UPDATE语法是不同的,但以上内容在Microsoft和MySQL中均有效。