首页 > 解决方案 > 自动递增语法错误

问题描述

这是我的简单数据库的代码:

在此处输入图像描述

CREATE TABLE [dbo].[User_Info] (
[Username]  NVARCHAR (50) NOT NULL,
[Password]  NVARCHAR (50) NOT NULL,
[Firstname] NVARCHAR (50) NOT NULL,
[Lastname]  NVARCHAR (50) NOT NULL,
[Email]     NVARCHAR (50) NOT NULL,
[Country]   NVARCHAR (50) NOT NULL,
[Phone]     NVARCHAR (50) NOT NULL,
[Gender]    NVARCHAR (50) NOT NULL,
[Admin]     INT           NULL,
PRIMARY KEY CLUSTERED ([Username] ASC)
);
SELECT GO * from User_Info;

Alter table User_Info
add column id int NOT NULL auto_increment Unique Key;

错误CREATE是:

每个批次只允许 1 个语句,例如“GO”,可能需要在语句之间

的错误column是:

“列”附近的语法不正确

我需要一个自动 ID 系统,这样我才能在我的网站上取得进展,我该如何解决这个烂摊子?

标签: sqlsql-serverddl

解决方案


您需要添加批处理分隔符,删除column关键字,并替换 auto_increment Unique Keyidentity(1,1) unique

CREATE TABLE [dbo].[User_Info] (
[Username]  NVARCHAR (50) NOT NULL,
[Password]  NVARCHAR (50) NOT NULL,
[Firstname] NVARCHAR (50) NOT NULL,
[Lastname]  NVARCHAR (50) NOT NULL,
[Email]     NVARCHAR (50) NOT NULL,
[Country]   NVARCHAR (50) NOT NULL,
[Phone]     NVARCHAR (50) NOT NULL,
[Gender]    NVARCHAR (50) NOT NULL,
[Admin]     INT           NULL,
PRIMARY KEY CLUSTERED ([Username] ASC)
);
GO
SELECT * from User_Info;
GO
Alter table User_Info
add id int identity(1,1) not null unique;
GO

推荐阅读