sql - 导入 Microsoft Access 数据库时保留自动编号列的值

标签 sql ms-access identity autonumber

我尝试以编程方式将多个表从 Microsoft SQL Server 导入 Microsoft Access。

每个 SQL Server 表都有一个标识列,相应的 Access 表也有一个自动编号列。

现在我想生成 SQL 脚本以将数据从 SQL Server 复制到 Access,并使自动编号列与 SQL Server 中的值相同。

这可能吗?

当从 Access 到 SQL Server 的另一种方法时,使用 SET IDENTITY_INSERT [MyTable] ON 和稍后的 SET IDENTITY_INSERT [MyTable] OFF 非常容易。

我发现 Microsoft Access 没有这样的声明。

此外,我尝试创建要导入的 Access 表,首先使用 LONG 类型的标识字段,然后使用 ALTER TABLE ... ALTER COLUMN 语句来切换到自动编号。我没有这样做。

所以我的问题是:有什么方法可以实现我的目标吗?

最佳答案

如果您使用 Insert Into 并在 MS Access 中指定所有列名,它应该可以工作。

我刚刚创建了一个具有以下结构的表

Id (autonumber)
Firstname (text)
Secondname (text)
Lastname (text)

我运行了这条语句

docmd.RunSQL“插入表 2(id、名字、第二名、姓氏)值(27、'a'、'b'、'c')”

它工作并将 27 插入自动编号列

关于sql - 导入 Microsoft Access 数据库时保留自动编号列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374375/

相关文章:

PHP 面向对象编程 : Providing Domain Entities with "Identity"

android - 来自 Android 的 AWS Identity TVM 注册

java - 简单 SQL 正则表达式的问题

excel - 打开 ADODB 连接时出现 "Unspecified error"

sql - fetching在计算机科学中是什么意思?

sql - 使用 SQL 排除记录

eclipse - 为什么我的代码不断收到 java.sql.SQLException : [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified?

identity - OIM 的数据库查询

MySQL 查询哪里不

sql - 返回一列不同但按另一列排序的记录