Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无唯一约束时插入/更新表_Sql_Sql Server 2008 - Fatal编程技术网

Sql 无唯一约束时插入/更新表

Sql 无唯一约束时插入/更新表,sql,sql-server-2008,Sql,Sql Server 2008,假设有一个包含20多列的excel列表,分别是汽车零件明细(零件号、型号、年份等)、车辆明细(品牌、型号、品牌、年份等)、发动机明细(品牌、型号、品牌等) 我希望将它们传递到我的关系数据库(在MS SQL SERVER 2008中)。当然,我有汽车零件、汽车和发动机的表格,以避免重复输入,因为汽车有许多汽车零件 我在excel中没有任何类型的id可以在我的表中匹配它们。汽车零件号是一个唯一的约束,所以我对此没有问题。但当涉及引擎表或车辆表时,即使我尝试使用多个列,它们也没有唯一的约束。因为除了制

假设有一个包含20多列的excel列表,分别是汽车零件明细(零件号、型号、年份等)、车辆明细(品牌、型号、品牌、年份等)、发动机明细(品牌、型号、品牌等)

我希望将它们传递到我的关系数据库(在MS SQL SERVER 2008中)。当然,我有汽车零件、汽车和发动机的表格,以避免重复输入,因为汽车有许多汽车零件

我在excel中没有任何类型的id可以在我的表中匹配它们。汽车零件号是一个唯一的约束,所以我对此没有问题。但当涉及引擎表或车辆表时,即使我尝试使用多个列,它们也没有唯一的约束。因为除了制造年份之外,其他年份可能都是一样的


在这种情况下,除了检查表中的所有列(如果它们存在)以插入/更新它们之外,我没有任何机会,这对我来说毫无意义。有什么解决办法吗?

如果
从您的_表中选择*,
,复制结果,并将结果粘贴到相应的电子表格中,该怎么办?在Excel中修复数据,然后使用导入/导出向导将数据导入SQL。我会将数据导入一个名称稍有不同的表中,并且只有在您对新表满意时才删除旧表。我无法从excel导入数据,因为excel会为两个不同的汽车零件重复相同的车辆详细信息。我必须每隔一段时间更新这些表一次,这样我就不能每次导出到excel、删除和重新创建表。我需要一种方法来检查车辆记录是否存在于我的车辆表中,但没有唯一的约束来检查它。应该有一种简单的方法来实现这一点,而无需使用主键将它们导出到excel,并在excel中查看哪些车辆记录是我的excel中的新记录。