数据类型RowVersion的列变为数据类型Timestamp的列

时间:2019-10-14 05:49:08

标签: sql-server

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:)(系统管理程序)

1 个答案:

答案 0 :(得分:2)

rowversion是旧的timestamp数据类型的新名称。它们基本上是相同的数据类型,因此不是将一个变成另一个的情况。

某些驱动程序仍使用旧名称。我们中的许多人已经为此抱怨了很长时间。因为希望不破坏向后兼容性,所以我看不出它改变得太早。