2014-03-12 78 views
0

我想知道如何在創建表時對列進行約束。 將如何創建聲明一下,如果我想這樣說,創建一個名爲名稱與列大小表,尺寸必須大於10帶約束的SQL CREATE語句

CREATE TABLE name(size int);

我應該把約束?

+0

我正在使用sql server – FJam

+0

@poncha CREATE TABLE語句中的語法錯誤是什麼? –

+1

通過只是做「谷歌」你應該找到一個答案或至少某些方向,如果你是新手到SQL。 –

回答

3

您可以在您的聲明的約束已指定之後的列名,例如:

CREATE TABLE name(size int CHECK (size > 10));

+0

OP要求進行字符串檢查,而不是整數檢查。 – Rich

+0

「用列大小創建一個名爲name的表,並且大小必須大於10.」是OP說的。不完全清楚,如果他意味着名爲「大小」或字符串的大小的列 –

1

要創建一個最小尺寸,你可以使用支票(link)約束。此外,您將不得不使用len()方法來驗證字符串是否足夠長。

例子:

CREATE TABLE Persons 
(
P_Id int NOT NULL, 
Name varchar(255) CHECK (len(Name) >= 10), 
Address varchar(255), 
City varchar(255) 
) 
1

只是因爲我遇到更多的麻煩比是必要的系統命名的約束,這裏是如何做到這一點,還命名的過程中約束:

create table Persons (
    size int, 
    constraint [CK_Persons_Size] check ((size > 10)) 
)