sql - 关于约束

标签 sql postgresql

我对 sql 完全陌生(有几天时间来了解它)并且有以下问题:

这是约束的语法:

在创建表格时,我有这样一行:

CONSTRAINT smth UNIQUE(name)

我知道它对 name 列施加了限制,以使其唯一,但是 smth 是做什么用的?为什么我们需要命名约束?它在任何地方都可以使用吗?

最佳答案

您为它命名(与许多事物一样)以便您可以轻松地在数据库中执行维护

参见 ALTER TABLE ... DROP CONSTRAINT并注意您必须在那里提供约束的名称

另外,如果约束条件是 violated 会很有帮助:

An optional name for a column or table constraint. If the constraint is violated, the constraint name is present in error messages, so constraint names like col must be positive can be used to communicate helpful constraint information to client applications.

关于sql - 关于约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27898448/

相关文章:

php - 将 MS-SQL 查询的结果更新到 MySql 数据库

postgresql - 日志序列号在 postgres 中真的是单调的吗?

ruby-on-rails - 如何使用 Arel 批量插入?

sql - tsvector_update_trigger 找不到 tsvector 列

MySQL 对关联表上的多行进行过滤

sql - SQL 中的正则表达式

sql - 在 postgres 中生成星期间隔日期

mysql - INSERT INTO(具有许多列连接的 SELECT(具有更多连接、求和...)、合并、月份...)

python - 如果从数据库中删除相关对象,为什么 Redis 会删除对象中的关系?

最大分组的 Django TruncDay 限制