Tsql 如何在Transact-sql中将列定义为主键和自增列?

Tsql 如何在Transact-sql中将列定义为主键和自增列?,tsql,Tsql,要将列定义为主键,我需要执行以下操作 ContactID int NOT NULL PRIMARY KEY 插入行时,我似乎仍然需要提供联系人ID的值。我希望主键是唯一的并递增(+1),就像我使用设计器定义了表一样 谢谢你的帮助 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Contacts]( [ContactID] [int] IDENTITY(1,1) NOT NULL, CO

要将列定义为主键,我需要执行以下操作

ContactID int NOT NULL PRIMARY KEY 
插入行时,我似乎仍然需要提供联系人ID的值。我希望主键是唯一的并递增(+1),就像我使用设计器定义了表一样

谢谢你的帮助

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Contacts](
    [ContactID] [int] IDENTITY(1,1) NOT NULL,
   CONSTRAINT [PK_Contacts] PRIMARY KEY CLUSTERED 
(
[ContactID] ASC)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, 
      ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]) ON [PRIMARY]
GO
您必须添加其他列,等等

更新:作为绝对最小语句:

CREATE TABLE Contacts(ContactID INT IDENTITY (1,1) PRIMARY KEY);
您必须添加其他列,等等

更新:作为绝对最小语句:

CREATE TABLE Contacts(ContactID INT IDENTITY (1,1) PRIMARY KEY);
只需这样做:

ContactID int not null identity(1,1) primary key
只需这样做:

ContactID int not null identity(1,1) primary key

表名是什么,等等。所以我们可以提供完整的创建脚本?表名是Contacts,其他两列是FirstName和Lastname(都是varchar(50))。这只是学习transact-sqlSo的一个测试表,为了简化它,“[ContactID][int]IDENTITY(1,1)NOT NULL”是使ContactID列同时主增量和自增量的必要条件?如果只将其标识为从1个IDENTITY列开始的1的自动增量,则仍然需要指定主键表名是什么,所以我们可以提供完整的创建脚本?表名是Contacts,另外两列是FirstName和Lastname(都是varchar(50))。这只是学习transact-sqlSo的一个测试表,使其变得简单,“[ContactID][int]IDENTITY(1,1)NOT NULL”是使ContactID列同时为主和自递增的所需内容?如果只将其标识为从1个IDENTITY列开始按1自动递增,则仍然需要指定主键