当前位置: 首页 > 面试题库 >

名为CONSTRAINT的好处

潘灵均
2023-03-14
问题内容

我正在学习SQL,偶然发现了CONSTRAINT。我可以这样定义它们:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric CHECK (price > 0)
);

像这样:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric CONSTRAINT positive_price CHECK (price > 0)
);

我为什么给他们起名字?或为什么我应该或不应该给他们起名字?正如我在此示例中看到的,以及我脑海中的大多数情况,我无法重用它们。那么给CONSTRAINT命名有什么好处?


问题答案:

给您的约束起一个明确的名字有很多好处。仅举几个例子:

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


 类似资料:
  • 在Postgres 10中,我声明了以下内容: 然后是第二个表,其中FK引用第一个表: 现在考虑这个查询的输出: 所有<code>unique_constraint_* 从 Postgres 文档中可以看出,这些元列应包含 包含外键约束引用的唯一或主键约束的 [对象] 的名称(始终为当前数据库) 问:我肯定在同一个数据库中,并且在< code>test_abc表上声明的惟一索引是一个惟一约束(否则

  • 问题内容: 我注意到,所有内置约束的中的参数都有一个空值。即 首先,为什么允许它们的值为空?我以为您可以仅对不需要附加验证的约束组合将其留空? 另外,请注意,尽管的值为空,但Hibernate Validator仍可以为每个内置约束找到一个验证器实现类,但是如果我为约束将validatedBy留为空白,则我的自定义验证器将永远不会被使用。这是为什么? 谢谢。 问题答案: 那些内置程序以特定于实现的

  • CONSTRAINT 子句 限制和索引相似,虽然限制也能被用于建立和另一个表的关联。 用ALTER TABLE 和CREATE TABLE 语句中的 CONSTRAINT 子句来建立或删除条件.CONSTRAINT 子句可分为两种类型:第一种是在单一字段上创建条件;第二种是在一个以上的字段上创建条件。 注意 Microsoft Jet 数据库引擎并不支持使用 CONSTRAINT ,或任何非 Mi

  • 问题内容: 在我的PHP网站上,当前用户使用电子邮件地址和密码登录。我也想添加一个用户名,该用户名g \ set将是唯一的,并且他们不能更改它。我想知道如何使该名称中没有空格并在URL中工作,以便可以使用那里的用户名链接到那里的个人资料和其他内容。如果用户名中有空格,则应在其下添加下划线jason_davis。我不确定执行此操作的最佳方法吗? 问题答案:

  • 本文向大家介绍common-lisp 你好,名字,包括了common-lisp 你好,名字的使用技巧和注意事项,需要的朋友参考一下 示例 这是一个稍微高级的示例,显示了普通lisp的其他一些功能。我们从一个简单的Hello, World!功能开始,并在REPL上演示一些交互式开发。请注意,从分号;到行的其余部分的所有文本均为注释。 这突出显示了Common Lispformat函数的一些高级功能,

  • 问题内容: 此示例来自JBOSS的hibernate教程。该链接位于:http : //docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#embeddables。 例子79.单向的@OneToMany关联 我的问题是,在此示例中: 1)为什么添加约束看起来像机器生成的字符串“ FKr38