ALTER TABLE 时出错 - 消息 102,级别 15,状态 1
Error when ALTER TABLE - Msg 102, Level 15, State 1
我正在使用 SQL 服务器并尝试更改现有 table:
ALTER TABLE [Users]
(
[User_ID] INT IDENTITY(1,1) PRIMARY KEY,
[UserName] [NVARCHAR](30) NOT NULL UNIQUE, -- the only change is "UNIQUE"
[UserEmail] [NVARCHAR](30) NOT NULL UNIQUE, -- the only change is "UNIQUE"
[Password] [NVARCHAR](30) NOT NULL,
)
并得到这个错误:
Msg 102, Level 15, State 1, Line 10
Incorrect syntax near '('.
我每次都在更改语法,但仍然出现此错误
Msg 102, Level 15, State 1
有什么问题?
您只需要添加一个 UNIQUE
约束作为
ALTER TABLE [Users]
ADD CONSTRAINT U_UserName UNIQUE(UserName),
CONSTRAINT U_UserEmail UNIQUE(UserEmail);
您的 ALTER TABLE
语法完全错误 - 如果您只想将 UNIQUE
添加到有问题的两列 - 使用此:
ALTER TABLE [Users]
ADD CONSTRAINT UQ_Users_UserName UNIQUE (UserName);
ALTER TABLE [Users]
ADD CONSTRAINT UQ_Users_UserEmail UNIQUE (UserEmail);
在 Docs@Microsoft
上阅读有关 the ALTER TABLE
command 的所有内容
无法在列级别添加唯一键约束。唯一键约束定义在 table 级别。
您可以通过以下方式更改table以添加唯一键。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
例如
ALTER TABLE Users
ADD CONSTRAINT Users_Unique UNIQUE (UserName, UserEmail);
Alter
与 Create
语句不同..
定义 :
ALTER TABLE statement is used to add, delete, or modify columns in an
existing table also used to add and drop various constraints on an
existing table
您可以在此处查看演示是否有效:DEMO
我正在使用 SQL 服务器并尝试更改现有 table:
ALTER TABLE [Users]
(
[User_ID] INT IDENTITY(1,1) PRIMARY KEY,
[UserName] [NVARCHAR](30) NOT NULL UNIQUE, -- the only change is "UNIQUE"
[UserEmail] [NVARCHAR](30) NOT NULL UNIQUE, -- the only change is "UNIQUE"
[Password] [NVARCHAR](30) NOT NULL,
)
并得到这个错误:
Msg 102, Level 15, State 1, Line 10
Incorrect syntax near '('.
我每次都在更改语法,但仍然出现此错误
Msg 102, Level 15, State 1
有什么问题?
您只需要添加一个 UNIQUE
约束作为
ALTER TABLE [Users]
ADD CONSTRAINT U_UserName UNIQUE(UserName),
CONSTRAINT U_UserEmail UNIQUE(UserEmail);
您的 ALTER TABLE
语法完全错误 - 如果您只想将 UNIQUE
添加到有问题的两列 - 使用此:
ALTER TABLE [Users]
ADD CONSTRAINT UQ_Users_UserName UNIQUE (UserName);
ALTER TABLE [Users]
ADD CONSTRAINT UQ_Users_UserEmail UNIQUE (UserEmail);
在 Docs@Microsoft
上阅读有关 theALTER TABLE
command 的所有内容
无法在列级别添加唯一键约束。唯一键约束定义在 table 级别。
您可以通过以下方式更改table以添加唯一键。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
例如
ALTER TABLE Users
ADD CONSTRAINT Users_Unique UNIQUE (UserName, UserEmail);
Alter
与 Create
语句不同..
定义 :
ALTER TABLE statement is used to add, delete, or modify columns in an existing table also used to add and drop various constraints on an existing table
您可以在此处查看演示是否有效:DEMO