首页 > 解决方案 > 仅在 SQL Server 数据库中向具有主键列的表中插入记录

问题描述

据我所知,在 SQL Server 中,我通常有两种方法来创建自动增量列(我是 SQL Server 的新手,所以,如果我错了,我很抱歉):

  1. 通过序列,并在插入期间引用它
  2. 通过用IDENTITY关键字标记此列

在我的例子中,我有一个表,它只包含一个列 - 主键,用 标记IDENTITY,所以你可以假设如下:

CREATE TABLE my_table
(
    id BIGINT IDENTITY PRIMARY KEY
); 

我知道,在上述第一种情况下,我们可以执行以下操作,例如:

INSERT INTO sequence_table 
VALUES(NEXT VALUE FOR sequence);

但我的问题是 - 是否有可能用第二种方法实现相同的效果。

我到底是什么意思:我只有桌子my_table,仅此而已(奇怪的用例,但就是这样)。在应用程序中,我需要在Insert该表中生成一条 SQL 语句。

另请注意:有时id会提供该列,有时则不会。

感谢任何帮助

标签: sql-serverprimary-key

解决方案


您可以使用default values

insert into my_table
    default values;

是一个 db<>fiddle。


推荐阅读