timestamp

timestamp(rowversion)字段说明

timestamp 在 SQL Server 中实际是 rowversion 的同义词,它是一种自动生成的、唯一的二进制数字,通常用于标识数据行的版本。

建表示例

CREATE TABLE [dbo].[Table_3](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[rowversion] [timestamp] NOT NULL,
	[name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Table_3] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GOCode language: PHP (php)

timestamp / rowversion 字段不需要手动定义值,由数据库自动生成,每次插入或更新行时都会自动递增更新。

查询数据

SELECT [id]
      ,[rowversion]
      ,[name]
  FROM [Test].[dbo].[Table_3]
GOCode language: CSS (css)

插入数据

插入时不需要(也不能)手动指定 timestamp 字段的值:

INSERT INTO [Test].[dbo].[Table_3]
           ([name])
     VALUES
           ('测试名称')
GOCode language: JavaScript (javascript)

注意:timestamp 与日期时间无关,它不存储时间信息,仅用于版本标记。从 SQL Server 2008 开始,微软建议使用 rowversion 关键字替代 timestamp,因为 timestamp 可能在未来版本中被废弃。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注