当前位置: 首页 > 面试题库 >

在Access中使用自动编号-INSERT语句

洪增
2023-03-14
问题内容

我在运行一个INSERT有自动编号作为PK字段的语句时遇到麻烦。我有一个自动增量long作为主键,然后是4个类型的字段double;但是Access(使用ADO)似乎想要insert语句使用五个值。

INSERT INTO [MY_TABLE] VALUES (1.0, 2.0, 3.0, 4.0);
>> Error: Number of query values and destinations fields are not the same.

INSERT INTO [MY_TABLE] VALUE (1, 1.0, 2.0, 3.0, 4.0);
>> Success!!

如何使用自动编号功能进行实际编号?


问题答案:

如果不想为表中存在的所有列提供值,则必须指定要插入的列。(这是合乎逻辑的,否则,access或任何其他DB应该如何知道您要为哪些列提供值)?

因此,您要做的是:

INSERT INTO MyTable ( Column2, Column3, Column4) VALUES ( 1, 2, 3 )

另外,请确保省略“主键”列(这是自动编号字段)。然后,Access会将其自身设置为下一个值。

然后,您可以通过执行以下操作来检索新插入的记录的主键值:

SELECT @@identity FROM MyTable

陈述。



 类似资料:
  • 问题内容: 我目前正在使用MySQL。我有一个表,其中包含一个auto_increment’id’字段和一个’imgname’字段,其中包含一个字符串,该字符串是图像的文件名。 我需要使用INSERT INTO语句创建的auto_increment值来生成“ imgname”值。问题是,直到插入查询运行后,我才能使用mysql_insert_id之前,我不知道该值。我想知道是否有可能在插入查询期间

  • 问题内容: 当SQL Server 2005碰巧达到IDENTITY列的最大值时会发生什么?它是否从头开始并开始填补空白? SQL Server 2005发生时的行为是什么? 问题答案: 达到最大值时,您将得到一个溢出错误 。如果您使用bigint数据类型使用最大值,则极有可能不会出现这种情况。 您将收到的错误消息如下所示: (来源) 据我所知,MS SQL没有提供任何功能来填补身份空白,因此您要

  • 我试图从Python向MySQL表中插入两列数据。我想我的Insert语句是真的。但我仍然得到1064错误代码。 这是针对MySQL server版本8.0.12和Python 3.7的。我尝试改变插入动态变量的不同方法。 programmingerror:1064(42000):您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,查找在第1行的“考勤”('stdid'、'dt

  • 问题内容: 我想做的是以编程方式从Microsoft SQL Server导入几个表到Microsoft Access。 每个SQL Server表都有一个Identity列,相应的Access表也有一个autonumber列。 现在,我想生成SQL脚本以将数据从SQL Server复制到Access,并使自动编号列的值与SQL Server中的值相同。 这可能吗? 从Access到SQL Ser

  • 本文向大家介绍正确使用MySQL INSERT INTO语句,包括了正确使用MySQL INSERT INTO语句的使用技巧和注意事项,需要的朋友参考一下 以下的文章主要介绍的是MySQL INSERT INTO语句的实际用法以及MySQL INSERT INTO语句中的相关语句的介绍,MySQL INSERT INTO语句在实际应用中是经常使用到的语句,所以对其相关的内容还是多多掌握为好。 My

  • 问题内容: 这合法吗? 问题答案: 对于它的价值,并取决于是否将相同的数据插入到相同的表中,最好用一个插入插入多个值, 例如