如何在使用导入和导出向导将数据从Excel导入MS SQL Server时创建身份列?

4
我需要使用导入/导出向导将大量数据从Excel导入到MS SQL Server中,然后我将继续在同一张表上每周导入更多的数据。
不好的是,我的Excel数据没有一个可以用作主键的标识列。现有的唯一选择就是使用两个字符串列作为主键,这不是一个好主意。
SQL Server是否有办法在导入数据时添加自动标识列(整数),该怎么做呢?我希望这样的列可以自动添加,因为我将需要每周向同一张表中导入大量数据。
我进行了几次测试(但都没有成功),并在互联网上寻找了解决方案,但没有找到针对这个特定问题的答案。提前感谢!
3个回答

2

您可以先创建带有新标识列的表。

CREATE TABLE YourTable
(
  id INT IDENTITY,
  col1....
  col2....
  col3....
  PRIMARY KEY(id)
)

接下来运行导入/导出向导。当你到达目标部分时,选择你新创建的表并映射所有字段,除了标识列。导入后,你可以检查表格并查看id列已被填充。


0
Excel表格中的列名应与SQL表格相同。 通过单击“编辑映射”将Excel列与SQL表格列进行映射。 只需不将SQL表格的(identity)列映射到任何内容。 在导入/导出向导中,不要选中启用身份插入复选框(保持未选择状态)。 然后进行导入... 这对我有用! 之前,当我勾选“启用标识插入”时,它会给我报错。

0

我遇到了类似的问题。我有一个带有自增ID值的SQL表格。我需要将Excel电子表格导入到这个表格中。

最终,我通过以下方式使其工作:

  1. 不要在Excel电子表格中添加一个用于SQL表格中自增列的列。

  2. 当您运行导入向导并到达编辑映射步骤时,请不要选择启用标识插入复选框。特别是这一点曾经让我困扰。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接