postgresql - Postgresql 约束一个字符类型

标签 postgresql constraints

我在 Postgres 中有一个表定义。我想向字符数据类型的列添加一个约束,使其只有 3 个允许值:

CREATE TABLE my_table
(
  id character varying(255) NOT NULL,
  uid character varying(255) NOT NULL,
  my_text text NOT NULL,
  is_enabled boolean NOT NULL
);

所以我希望 my_text 列仅包含“A”、“B”或“C”作为值。

我在哪里可以找到这方面的一些文档?

最佳答案

使用检查约束:

CREATE TABLE my_table
(
  id character varying(255) NOT NULL,
  uid character varying(255) NOT NULL,
  my_text text NOT NULL,
  is_enabled boolean NOT NULL,
  constraint check_allowed check (my_text in ('A', 'B', 'C'))
);

手册中有更多详细信息:http://www.postgresql.org/docs/current/static/ddl-constraints.html#DDL-CONSTRAINTS-CHECK-CONSTRAINTS

关于postgresql - Postgresql 约束一个字符类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30845055/

相关文章:

postgresql - PostgreSQL 文本类型比较

java - Play : Custom Ebean constraints

database - 添加约束以使每组行的列唯一

django - 在 Django 中创建数据库驱动的主导航?

ruby-on-rails - Heroku - 如何从一个数据库中提取数据并将其放入另一个数据库?

java - 一步将数据从 Postgres DB 复制到 AWS S3

php - SQLSTATE[23000] : Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails - Laravel

java.util.Properties 在 .store() 上添加\t字符

database - (PostgreSQL) "Advanced"检查约束问题

ios - 单击时折叠和展开 UI