我正在尝试向我现有的表之一添加 EXCLUDE 约束,这是我正在运行的 sql:
ALTER TABLE appointment_service
ADD COLUMN start_time bigint,
ADD COLUMN end_time bigint,
EXCLUDE USING gist (
professional_id WITH =,
int8range(start_time, end_time) WITH &&
),
ADD COLUMN professional_id text REFERENCES professionals ON DELETE CASCADE ON UPDATE CASCADE
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误。
ERROR: syntax error at or near "EXCLUDE"
LINE 4: EXCLUDE USING gist (
Run Code Online (Sandbox Code Playgroud)
完成此操作的正确 SQL 语法是什么?
您需要单独添加排除约束。
首先添加列:
ALTER TABLE appointment_service
ADD COLUMN start_time bigint,
ADD COLUMN end_time bigint,
ADD COLUMN professional_id text
REFERENCES professionals ON DELETE CASCADE ON UPDATE CASCADE;
Run Code Online (Sandbox Code Playgroud)
然后添加约束:
ALTER TABLE appointment_service
add constraint unique_professional_id
EXCLUDE USING gist (
professional_id WITH =,
int8range(start_time, end_time) WITH &&
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3643 次 |
| 最近记录: |