我有一个PostgreSQL表 3 c# ?1 J8 N% v; T5 ?8 O8 h0 d/ `+ iCREATE TABLE my_table( id serial NOT NULL, name text, actual boolean DEFAULT false, CONSTRAINT my_table_pkey PRIMARY KEY (id),);如何设置一行?actual设置为标志的约束TRUE?- v! k0 j+ ?6 j G7 ?- _
% @; T% c' {1 D解决方案: % @! P$ j8 Z+ Y) `, M+ T3 `* P
您只能为列表中的唯一值创建唯一的索引:2 c6 \$ K8 y. a5 [6 I/ C
create unique index on my_table (actual) where actual = true;SQLFiddle:http' x/ }1 n1 k4 X* U4 N
://sqlfiddle.com/#!15/91f62/1