CREATE TABLE foo (
dt AS DATE NOT NULL,
type AS TEXT NOT NULL,
CONSTRAINT unique_dt_type UNIQUE(dt,type) -- check constraint(?)
)
当仅存在特定条件时,试图思考正确的语法以创建唯一约束时,会出现脑残。
给定,type
可以有值A-F
,每个日期只能有一个A
,但可以有多个B-F
。好表的例子:
2010-01-02 | 'A' -- only one
2010-01-02 | 'B' -- can have multiple
2010-01-02 | 'B'
2010-01-02 | 'B'
2010-01-02 | 'C' -- can have multiple
2013-01-02 | 'A' -- only one
2010-01-02 | 'B' -- can have multiple
2010-01-02 | 'B'
2013-01-02 | 'F' -- can have multiple
2013-01-02 | 'F'
尝试阅读检查/唯一语法,但没有任何示例。 CHECK
接近但仅将其限制在一个范围内,并未与UNIQUE
场景结合使用。也试过搜索,但我的搜索技能要么达不到标准,要么没有任何类似的问题。