命名为CONSTRAINT的好处

Joh*_*nes 6 sql constraints

我正在学习SQL并且偶然发现了CONSTRAINT.我可以像这样定义它们:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric CHECK (price > 0)
);
Run Code Online (Sandbox Code Playgroud)

和这样:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric CONSTRAINT positive_price CHECK (price > 0)
);
Run Code Online (Sandbox Code Playgroud)

我为什么要给他们起名字?或者为什么我应该或不应该给他们起名字?正如我在这个例子中所看到的,在我看来大多数情况下我无法重复使用它们.那么为CONSTRAINT命名有什么好处?

bpg*_*rgo 7

为约束提供显式名称有很多好处.举几个例子:

  1. 您可以按名称删除它们.
  2. 如果在选择名称时使用约定,则可以从元表中收集它们并以编程方式处理它们.