如何在分区表中实现多个唯一性?
How can multiple unique in partition tabale?
我有一个 SQL table 如下所示。
CREATE TABLE my_table
(
id serial,
user_id int,
order_no character varying(50),
date_time timestamp,
primary key (id, user_id, date_time),
unique(user_id, order_no)
) PARTITION BY RANGE (date_time);
我有一个table。我需要使用 user_id
列来区分 order_no
列。没有任何问题。
但由于我使用分区,所以我必须唯一 data_time
列。但 date_time
列必须用 user_id
和 order_no
.
分隔
顺便说一句,我不想这样unique (user_id, order_no, data_time)
如何在 table 中使 date_time
独一无二?
无法创建唯一索引或约束来保证 order_no
或 user_id
是唯一的。这是分区的缺点之一。
您可以在分区上创建唯一约束。虽然这不能保证全球唯一性,但它有很长的路要走。
我有一个 SQL table 如下所示。
CREATE TABLE my_table
(
id serial,
user_id int,
order_no character varying(50),
date_time timestamp,
primary key (id, user_id, date_time),
unique(user_id, order_no)
) PARTITION BY RANGE (date_time);
我有一个table。我需要使用 user_id
列来区分 order_no
列。没有任何问题。
但由于我使用分区,所以我必须唯一 data_time
列。但 date_time
列必须用 user_id
和 order_no
.
顺便说一句,我不想这样unique (user_id, order_no, data_time)
如何在 table 中使 date_time
独一无二?
无法创建唯一索引或约束来保证 order_no
或 user_id
是唯一的。这是分区的缺点之一。
您可以在分区上创建唯一约束。虽然这不能保证全球唯一性,但它有很长的路要走。