2015-07-21 56 views
1

我可以創建多個列級約束:是否有可能在SQL中有多個列級命名約束?什麼是語法?

CREATE TABLE foo 
( 
    bar int CHECK (bar >= 0) UNIQUE NOT NULL 
); 

是否可以分開他們的名字,像這樣?

CREATE TABLE foo 
( 
    bar int CONSTRAINT a CHECK (bar >= 0) CONSTRAINT b NOT NULL CONSTRAINT c UNIQUE 
); 

PostgreSQL的CREATE TABLE語法給出here,雖然有麻煩解析它我。

+0

當你嘗試時發生了什麼? –

+0

啊我想我只是因爲NOT NULL約束不使用名稱而感到困惑: insert into foo(bar)values(NULL); 錯誤:列「bar」中的空值違反了非空約束 – HoboBen

回答

1

是的,你提供的語法工作得很好(至少在9.3.9我已經安裝)。

相關問題