sql - 如何向文本字段添加长度约束

标签 sql postgresql constraints

在使用 PostgreSQL(或其他支持它的数据库)时,似乎最好使用 TEXT 数据类型,而不是 character varying(NN),因为那里没有性能损失,并且可以通过删除和重新应用约束来调整最大可能长度,而不影响任何使用该字段的 View 等。

但是,这个约束是如何应用的(SQL 代码)?

最佳答案

创建表时,您可以执行此类操作,

CREATE TABLE names (
  name text CONSTRAINT namechk CHECK (char_length(name) <= 255)
)

(namechk 只是约束的名称)

同样适用于 ALTER TABLE 例如:

ALTER TABLE names
  ADD CONSTRAINT namechk CHECK (char_length(name) <= 255);

关于sql - 如何向文本字段添加长度约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29560016/

相关文章:

mysql - Postgres 中插入查询别名的语法错误

django - squashmigrations 用法(如何找到 'migration_name' )

java - 约束集不起作用

mysql - 删除级联时的外部约束不起作用

mysql - MySQL 中允许空值的唯一约束

C# Sql 跨页面连接字符串

mysql - 选择特定的 MySQL 行出现次数来计算平均值

sql - 我在哪里将标签信息存储在联系人数据库中以用于邮件

sql - 具有 DEFAULT 值的多行条件插入

postgresql - 匿名和清理数据库表中字段的最快方法?