jp2*_*ode 105 sql t-sql sql-server
我有一个现有的表,我即将被吹走,因为我没有创建它,ID列设置为表的标识列.
使用SQL Server Management Studio,我编写了现有表的"Create To ..."脚本,并得到了:
CREATE TABLE [dbo].[History](
[ID] [int] NOT NULL,
[RequestID] [int] NOT NULL,
[EmployeeID] [varchar](50) NOT NULL,
[DateStamp] [datetime] NOT NULL,
CONSTRAINT [PK_History] 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]
Run Code Online (Sandbox Code Playgroud)
我的问题是,我如何修改它,SQL以便我的结果表将ID列设置为标识?
Gra*_*tzy 152
CREATE TABLE [dbo].[History](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RequestID] [int] NOT NULL,
[EmployeeID] [varchar](50) NOT NULL,
[DateStamp] [datetime] NOT NULL,
CONSTRAINT [PK_History] 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]
Run Code Online (Sandbox Code Playgroud)
Gor*_*off 32
这已经得到了回答,但我认为最简单的语法是:
CREATE TABLE History (
ID int primary key IDENTITY(1,1) NOT NULL,
. . .
Run Code Online (Sandbox Code Playgroud)
当您真正想要更改选项时,更复杂的约束索引非常有用.
顺便说一下,我更喜欢将这样的列命名为HistoryId,因此它匹配外键关系中列的名称.
Phi*_*hil 11
[id] [int] IDENTITY(1,1) NOT NULL,
Run Code Online (Sandbox Code Playgroud)
当然,因为您在SQL Server Management Studio中创建表,所以可以使用表设计器来设置标识规范.

| 归档时间: |
|
| 查看次数: |
335270 次 |
| 最近记录: |