首页 > 解决方案 > 将 CSV 导入 SQL Server 数据库,保留 ID 列值

问题描述

我正在努力将 SQLite 数据库迁移到 SQL Server,我需要使用 IntelliJ IDEA 将 SQLite 表中的所有数据导入 MSSQL 数据库。

我已经将数据导出为 CSV 格式,但是当我导入 SQL Server 时,我需要维护现有的 ID 列(作为外键引用它)。

通常,我可以通过SET IDENTITY_INSERT xxx ON;在我的INSERT陈述之前执行来做到这一点。

但是,在使用 IntelliJ 导入 CSV 时,我不知道该怎么做。

我看到的唯一其他选择是将数据导出为一系列 SQL INSERT 语句,但这非常耗时,因为两个数据库之间的模式略有不同(更不用说 SQL 语法了)。

还有其他方法可以导入这些数据吗?

标签: sql-serverintellij-idea

解决方案


我不知道如何在 IntelliJ 查询中执行 Identity Insert ON,但我知道如何解决这个问题。将数据导入到临时表目标中,然后在 SQL Server 中执行查询

  • 将身份插入设置为 ON
  • 将临时表中的数据插入最终目的地
  • 设置身份插入关闭

这样做的真正作用是防止您不得不花费(可能)数小时来找出如何在 IntelliJ 中实现 Identity Insert ON,而您可能再也不需要这样做了。编码也很简单。

但是,如果您想了解 IntelliJ 中是否有办法做到这一点,那就去吧。那将是一种更优化的方法。


推荐阅读