Sql server 将行插入到只有一列、主键和标识的表中

Sql server 将行插入到只有一列、主键和标识的表中,sql-server,tsql,insert,Sql Server,Tsql,Insert,下面是一个表定义: CREATE TABLE dbo.TableOnlyPK ( Id tinyint PRIMARY KEY IDENTITY (1, 1) ) 现在我需要通过T-SQL语句将行插入到该表中:我尝试了一些解决方案,但没有一个奏效 INSERT INTO dbo.TableOnlyPK () VALUES () -- not worked 尝试: 您已创建下表: CREATE TABLE dbo.TableOnlyPK ( Id tinyint PRIMAR

下面是一个表定义:

CREATE TABLE dbo.TableOnlyPK
(
    Id tinyint PRIMARY KEY IDENTITY (1, 1)
)
现在我需要通过T-SQL语句将行插入到该表中:我尝试了一些解决方案,但没有一个奏效

INSERT INTO dbo.TableOnlyPK () VALUES ()  -- not worked
尝试:

您已创建下表:

CREATE TABLE dbo.TableOnlyPK
(
    Id tinyint PRIMARY KEY IDENTITY (1, 1)
)
每次激发:
INSERT INTO dbo.TableOnlyPK DEFAULT VALUES
,您将在标识列中插入一行

因此,如果您执行:

INSERT INTO dbo.TableOnlyPK DEFAULT VALUES
INSERT INTO dbo.TableOnlyPK DEFAULT VALUES
INSERT INTO dbo.TableOnlyPK DEFAULT VALUES
这将导致:

INSERT INTO [dbo].[TableOnlyPK]
DEFAULT VALUES

是否有任何构造会迫使SQL单独将新PK写入表中。我知道使用IDENTITY_INSERT是可行的,但我想知道如果没有该语句是否可行。您应该指出列名称和/或值,此外,您应该知道,如果pk列是IDENTITY字段,则应忽略pk列如果列是IDENTITY,则无法在该列中插入用户值(没有IDENTITY_INSERT)@Zohar-这可以有多种用途。一个可能是整个应用程序中的常规序列/最新ID。自sql server 2012起,存在一个对象。我想如果您使用的是旧版本,它可能会很有用。这就是我问为什么的意思。如果OP使用的是2012年或更高版本,他可能会更好地使用序列。好极了!这就是我需要的,好极了!这就是我需要的
INSERT INTO [dbo].[TableOnlyPK]
DEFAULT VALUES