在SQL Server2000或更高版本中,当使用如下语句时,是否可以处理自动生成的主键(标识)列?

Insert Into TableName Values(?, ?, ?)

我的目标是根本不使用列名.

推荐答案

默认情况下,如果您有一个IDENTITY列,则需要在Values部分中指定它.如果您的表是:

ID    NAME    ADDRESS

然后,您可以执行以下操作:

INSERT INTO MyTbl VALUES ('Joe', '123 State Street, Boston, MA')

这会自动为你生成ID,你根本不需要考虑它.如果 Select SET IDENTITY_INSERT MyTbl ON,则可以为ID列指定一个值.

Database相关问答推荐

无法连接MatrixOne(来自GitHub)

如何高效地存储棋局?

创建一个spell check,判断具有合理运行时间的数据库

MySQL主键:UUID / GUID vs BIGINT(时间戳+随机)

我们如何使用 Hibernate 和 JPA 调用存储过程?

SQLite 中内存数据库的优势

Boyce-Codd 范式的良好 KISS 描述是什么?

将 XML 存储在数据库中是否不好?

Neo4j:逐步创建自动索引

将所有数据库列设置为 NOT NULL 是一种好习惯吗?

来自外部源的 Django 用户和身份验证

为什么有人需要内存数据库?

在默认路径下使用脚本创建数据库?

使用 PDO 获取单行单列

判断Android中的应用程序数据库中是否存在列

关系未更新的 NSFetchedResultsController

在 SQLite 表中使用文本作为主键不好?

试图在我的环境中设置 Postgres,但似乎无法获得 intidb 的权限

在一个查询中使用 group by 计算多列

如果值不为空,则用于更新数据库的 Sql 查询?