【发布时间】:2021-10-19 04:13:43
【问题描述】:
我使用 Postgres。
我有一个这样的表,我知道我无法创建具有超过 1 个空列的唯一索引。
如何创建表格,以便如果我像这样插入 2 次 obj 它将归档:
{
content_details_id: 1,
topic_id: 1,
subject_id: null,
chapter_id: null,
sub_chapter_id: null,
learning_unit_id: null,
points: null
}
CREATE TABLE IF NOT EXISTS content_details_connections(
id SERIAL PRIMARY KEY,
content_details_id INT REFERENCES content_details(id) on update no action on delete cascade NOT
NULL,
topic_id INT REFERENCES topics(id) on update no action on delete cascade,
subject_id INT REFERENCES subjects(id) on update no action on delete cascade,
chapter_id INT REFERENCES chapters(id) on update no action on delete cascade,
sub_chapter_id INT REFERENCES sub_chapters(id) on update no action on delete cascade,
learning_unit_id INT REFERENCES learning_unit(id) on update no action on delete cascade,
points INT,
created_at TIMESTAMP DEFAULT NOW()::TIMESTAMP,
last_updated TIMESTAMP DEFAULT NOW()::TIMESTAMP,
UNIQUE(content_details_id,topic_id,subject_id,chapter_id,sub_chapter_id,learning_unit_id,points))
【问题讨论】:
-
不相关,但:
NOW()::TIMESTAMP与localtimestamp相同
标签: postgresql ddl