如何創建具有唯一,非空且不爲空的列的表(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