我使用Task - Import Data
将数据从一个数据库导入到具有相同表结构的另一个数据库。我总是收到错误INSERT statement conflicted with the FOREIGN KEY constraint
。我希望当我导入数据时我没有收到此错误。 。
这可能是我从表中删除所有外键并在导入后运行外键的脚本到表,如果是,我该怎么做。感谢您的回复和评论
答案 0 :(得分:1)
我建议将原始数据导入到没有FK约束的临时表中。然后,从那里,您可以快速查询暂存区域,并确定哪些值违反了FK约束。
实施例。您创建一个名为tblImport
的表,而FK位于字段city
上。你的city
表只有纽约和洛杉矶,但当你select distinct city from tblImport
时,你看到拉斯维加斯也在那里。拉斯维加斯违反了你的约束。然后,您可以将Las Vegas添加到city
表中,并在不违反FK约束的情况下导入。
导入最终目的地后,请删除tblImport
。
我还应该补充一点,你不能放弃FK,导入,然后重新添加FK。重新添加FK的操作将检查约束,并失败。
你需要1)添加一个允许导入的关系条目,如上所述,或者2)写一个满足FK约束的导入脚本,并且只导入存在关系的记录(即它只会进口纽约和洛杉矶)。