如何创建具有唯一,非空且不为空的列的表(Check)?SQL Server创建具有列唯一不为空且不为空的表(检查)
我想下面的查询
CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName nvarchar(255) NOT NULL,
FirstName nvarchar(255),
Address nvarchar(255),
City nvarchar(255),
CHECK (P_Id>0)
)
当我尝试创建一个表,既独特又检查约束及其以下错误投掷。是否可以在单个查询中使用两个约束?
Major Error 0x80040E14, Minor Error 25501
> CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName nvarchar(255) NOT NULL,
FirstName nvarchar(255),
Address nvarchar(255),
City nvarchar(255),
CHECK (P_Id>0)
)
There was an error parsing the query. [ Token line number = 8,Token line offset = 1,Token in error = CHECK ]. I am using SQL Server 2008.
创建表信息[创建表](http://msdn.microsoft.com/en-ca/library/ms174979.aspx) – Tak 2014-09-22 14:57:15
它确实有可能对同一行的所有三个约束(NOT NULL,UNIQUE和CHECK(yourconstraint ...)),但CHECK必须与您约束的变量位于同一行,并且逗号应该在检查表达式之后。 – 2014-09-22 16:21:08