SQL Server正在将数据类型RowVersion的列转换为数据类型为timestamp的列。
即我将表创建写为:
USE [AllanFordKeyTestDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AJF2_Accounts3](
[ID123] [RowVersion] NOT NULL)
GO
然后我将菜单选项“脚本表”用作创建到新查询窗口的方法,然后返回:
USE [AllanFordKeyTestDB]
GO
/****** Object: Table [dbo].[AJF2_Accounts3] Script Date: 14/10/2019 4:13:50 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AJF2_Accounts3](
[ID123] [timestamp] NOT NULL
) ON [PRIMARY]
GO
这正常吗?
select @@version gives me
Microsoft SQL Server 2017(RTM-CU14)(KB4484710)-14.0.3076.1(X64)2019年3月12日19:29:19版权所有(C)2017 Microsoft Corporation企业版:基于核心的许可(64位)于Windows Server 2016 Standard 10.0(内部版本14393:)(系统管理程序)
答案 0 :(得分:2)
rowversion
是旧的timestamp
数据类型的新名称。它们基本上是相同的数据类型,因此不是将一个变成另一个的情况。
某些驱动程序仍使用旧名称。我们中的许多人已经为此抱怨了很长时间。因为希望不破坏向后兼容性,所以我看不出它改变得太早。