sql-server - 在 SQL 表中插入新行而不分配任何值

标签 sql-server t-sql

我有一个 SSMS 表,其中有一列是 pk 并设置为自动增量。在我的代码中,我需要创建一行,然后提取 ID 的值。

我不想设置id,它需要自动生成。有没有办法在不添加第二列来添加数据的情况下执行此操作?

最佳答案

只需使用短语“DEFAULT VALUES”代替字段列表和值规范:

INSERT INTO [TableName] DEFAULT VALUES;

测试:

CREATE TABLE #Test
(
   ID INT IDENTITY(1, 1) NOT NULL PRIMARY KEY
);

INSERT INTO #Test DEFAULT VALUES;
SELECT SCOPE_IDENTITY();

有关这方面的更多信息,请查看 MSDN 页面 INSERT并在浏览器中“查找”(即 Control-F)查找“默认值”。

关于sql-server - 在 SQL 表中插入新行而不分配任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825548/

相关文章:

sql - 将第二个 SUM 添加到当前查询

获取汇总值的 SQL 查询

sql - 使用连接查询从四个不同的表中获取记录

sql - 在 Azure SQL 数据库中使用 "INSERT INTO"SQL 查询时出错

sql-server - 如何将表中的所有列值插入到第二个相同的表中?

sql - 可以在表中保存和插入 SQL 查询消息吗?

java - SQLServer - 是否可以使用 jdbc 结果集更新几何列?

sql-server - TSQL 电子邮件验证(无正则表达式)

sql-server - 将 Char PK/FK 转换为 Varchar 或 RTRIM?

sql-server - 在 SQL 中透视具有多列的表