遇到数据重复时跳过列 ID
Column ID skipped whenever it encounter a data duplicate
我有一个名为 email_recipients
的 table,只要 email
中有重复项,就会跳过 ID
。
CREATE TABLE email_recipients(
id SERIAL PRIMARY KEY,
email_address varchar(255) UNIQUE NOT NULL,
last_name varchar(255),
first_name varchar(255),
active boolean
);
是的,这是正常的。
DEFAULT
值必须在插入之前进行评估,如果INSERT
由于任何原因失败,序列值仍然被消耗.
这是因为出于性能原因,序列是非事务性的,这是一个特性。
不要追求“无间隙”序列,它没有任何好处,只会带来痛苦。
我有一个名为 email_recipients
的 table,只要 email
中有重复项,就会跳过 ID
。
CREATE TABLE email_recipients(
id SERIAL PRIMARY KEY,
email_address varchar(255) UNIQUE NOT NULL,
last_name varchar(255),
first_name varchar(255),
active boolean
);
是的,这是正常的。
DEFAULT
值必须在插入之前进行评估,如果INSERT
由于任何原因失败,序列值仍然被消耗.
这是因为出于性能原因,序列是非事务性的,这是一个特性。
不要追求“无间隙”序列,它没有任何好处,只会带来痛苦。