仅在 SQL 服务器数据库中使用主键列向 table 插入记录
Insert record to the table with primary key column only in SQL Server database
据我所知,在 SQL 服务器中,我通常有 2 种方法来创建自动递增列(我是 SQL 服务器的新手,所以,如果我错了,我很抱歉):
- 通过序列,并在插入时引用它
- 通过使用
IDENTITY
关键字标记此列
在我的例子中,我有一个 table,其中包含 只有一个 列 - 主键,标有 IDENTITY
,因此您可以假设类似:
CREATE TABLE my_table
(
id BIGINT IDENTITY PRIMARY KEY
);
我知道,对于上述第一种情况,我们可以执行以下操作,例如:
INSERT INTO sequence_table
VALUES(NEXT VALUE FOR sequence);
但我的问题是 - 是否有可能通过第二种方法实现同样的效果。
我到底是什么意思:我只有 table my_table
仅此而已(奇怪的用例,但事实就是如此)。在应用程序中,我需要在 table.
中生成一个 SQL Insert
语句
另请注意:有时会提供 id
列,有时则不会。
感谢任何帮助
您可以使用 default values
:
insert into my_table
default values;
Here 是一个 db<>fiddle.
据我所知,在 SQL 服务器中,我通常有 2 种方法来创建自动递增列(我是 SQL 服务器的新手,所以,如果我错了,我很抱歉):
- 通过序列,并在插入时引用它
- 通过使用
IDENTITY
关键字标记此列
在我的例子中,我有一个 table,其中包含 只有一个 列 - 主键,标有 IDENTITY
,因此您可以假设类似:
CREATE TABLE my_table
(
id BIGINT IDENTITY PRIMARY KEY
);
我知道,对于上述第一种情况,我们可以执行以下操作,例如:
INSERT INTO sequence_table
VALUES(NEXT VALUE FOR sequence);
但我的问题是 - 是否有可能通过第二种方法实现同样的效果。
我到底是什么意思:我只有 table my_table
仅此而已(奇怪的用例,但事实就是如此)。在应用程序中,我需要在 table.
Insert
语句
另请注意:有时会提供 id
列,有时则不会。
感谢任何帮助
您可以使用 default values
:
insert into my_table
default values;
Here 是一个 db<>fiddle.