【问题标题】:Is it possible to have multiple column-level named constraints in SQL? What is the syntax?SQL 中是否可以有多个列级命名约束?语法是什么?
【发布时间】:2015-07-21 13:49:32
【问题描述】:

我可以创建多个列级约束:

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,但我无法解析它。

【问题讨论】:

  • 你尝试的时候发生了什么?
  • 啊,我想我只是弄糊涂了,因为 NOT NULL 约束不使用名称:insert into foo (bar) values(NULL);错误:“bar”列中的空值违反非空约束

标签: sql postgresql syntax constraints ddl


【解决方案1】:

是的,您提供的语法可以正常工作(至少在我安装的 9.3.9 中)。

【讨论】:

    猜你喜欢
    • 2016-09-12
    • 1970-01-01
    • 2010-11-26
    • 2014-04-18
    • 1970-01-01
    • 2020-03-24
    • 2021-08-04
    • 1970-01-01
    • 2017-02-27
    相关资源
    最近更新 更多