【发布时间】:2021-07-25 00:31:29
【问题描述】:
我有两个包含以下列的 Postgres 表:
命令
| Column | Type |
|---|---|
| id | Integer Primary Key |
| name | VARCHAR(32) |
选项
| Column | Type |
|---|---|
| id | Integer Primary Key |
| name | VARCHAR(32) |
| command_id | FOREIGN KEY on COMMAND("id") |
我想添加另一个约束,其中 Command name 列和 Option command_id 列是绑定的,这样两个命令可以共享相同的名称,前提是它们是不同选项的一部分。我将如何做出这样的约束?不添加约束,只允许后端在输入数据之前进行必要的检查会更好吗?
编辑:我意识到对于我的简单用例,我想多了,存储 JSON 字段就足够了。但是,如果表结构恰好更复杂,那么问题仍然有效。
【问题讨论】:
标签: sql postgresql foreign-keys unique postgresql-12