是否可以在 PostgreSQL 9.6 中对范围(在我的情况下为整数)的下限和上限应用外键约束?
目前我将下限和上限保留在两列中,但希望将它们统一到一个范围列中,同时保留外键引用。
我有一个包含会话列表的表,例如:
CREATE TABLE sessions (
session_id SERIAL PRIMARY KEY,
session_start TIMESTAMPTZ NOT NULL,
description TEXT
);
Run Code Online (Sandbox Code Playgroud)
然后是这些会议的组表,目前表示为:
CREATE TABLE session_groups (
group_id SERIAL PRIMARY KEY,
first_session INTEGER NOT NULL UNIQUE,
last_session INTEGER NOT NULL UNIQUE,
description TEXT,
FOREIGN KEY (first_session)
REFERENCES sessions (session_id)
ON UPDATE CASCADE
ON DELETE RESTRICT,
FOREIGN KEY (last_session)
REFERENCES sessions (session_id)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT last_session_after_first
CHECK (last_session >= first_session)
);
Run Code Online (Sandbox Code Playgroud)
我想要什么:
CREATE TABLE session_groups (
group_id …Run Code Online (Sandbox Code Playgroud)