我在不同的服务器上有两个数据库,它们有一个名为com.fasterxml.jackson.databind.JsonMappingException: Could not find creator property with name 'id' (in class org.apache.spark.rdd.RDDOperationScope)
at [Source: {"id":"4","name":"first"}; line: 1, column: 1]
的表。数据大致相同,但我想确保两个表都有相同的数据。我一直在使用SQL Server 2016年6月将数据从一个表导出到另一个表,但我得到的错误是:
违反PRIMARY KEY约束''。无法在对象A中插入重复键
重复键值为“此处有些文字”
我知道我可以删除表并重新插入行,但这很麻烦且非常糟糕。对我来说,更新第二个数据库中的数据的最佳方法是什么?
答案 0 :(得分:1)
将服务器添加为链接服务器并使用以下语句。
在表A中添加来自服务B表A的行。
INSERT INTO dbo.A (Col1 , Col2 , Col3 , ....)
SELECT Col1 , Col2 , Col3 , ....
FROM [LinkedServerB].[DBName].[dbo].[A] A
WHERE NOT EXISTS ( SELECT 1 FROM dbo.A
WHERE A.PK_Column = PK_Column)
然后在服务器B上使用相同的查询来添加服务器A中的行
在表A中添加来自服务B表A的行。
INSERT INTO dbo.A (Col1 , Col2 , Col3 , ....)
SELECT Col1 , Col2 , Col3 , ....
FROM [LinkedServerA].[DBName].[dbo].[A] A
WHERE NOT EXISTS ( SELECT 1 FROM dbo.A
WHERE A.PK_Column = PK_Column)
答案 1 :(得分:1)
好的,如果您不能使用链接服务器,可以将数据复制到空的临时表中。然后运行类似的insert语句,但使用登台表而不是链接表