我有一个具有以下架构的表
CREATE TABLE [dbo].[ATMs]
(
[StartTime] DATETIME2 (2) GENERATED ALWAYS AS ROW START NOT NULL
CONSTRAINT [DF_M360_ATMs_StartTime] DEFAULT (SYSDATETIME()),
[EndTime] DATETIME2 (2) GENERATED ALWAYS AS ROW END NOT NULL
CONSTRAINT [DF_M360_ATMs_EndTime] DEFAULT ('9999-12-31'),
[ID] INT NOT NULL,
[UserID] UNIQUEIDENTIFIER NOT NULL,
[ApplicationID] VARCHAR(35) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
CONSTRAINT [DF_M360_ATMs_ApplicationID] DEFAULT ('??????'),
[ComputerNumber] SMALLINT NOT NULL
CONSTRAINT [DF_ATMs_ComputerNumber] DEFAULT ((-1)),
[SQLStatement] CHAR(1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
CONSTRAINT [DF_M360_ATMs_SQLStatement] DEFAULT ('I'),
[IsTriggered] BIT NOT NULL
CONSTRAINT [DF_ATMs_IsTriggered] DEFAULT (1),
[Location] NVARCHAR(200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)
我想在这个表中插入一些测试值。
但我无法将值插入到“StartTime”列中,因为它具有始终生成的标识。
所以我想删除该身份,然后将一些值插入表中并再次添加该身份。
能否请您帮我删除标识或提供任何其他解决方案以将值插入“StartTime”列?
最佳答案
您是否尝试过对这些列使用默认?我认为您不必一次又一次地删除和添加这些列。
INSERT INTO [dbo].[Department] ([DeptID] ,[DeptName] ,[ManagerID] ,
ParentDeptID], SysStartTime, SysEndTime)
VALUES(11, 'Sales', 101, 1, default, default);
关于sql-server - 删除 SQL Server 2016 中表列的始终生成的标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39472626/