数据库为 PostgresSQL,
表结构样例:
create table public.test (
id serial primary key,
key text unique not null,
value int
);
其中字段 key 具有唯一性约束
现在,需要插入大量数据,例如:
insert into public.test (key, value) values
('k1', 101),
('k2_dup', 102),
('k2_dup', 103);
数据中 key 字段存在大量重复,如何在插入时按一定规则自动重命名,就是说,如果要插入某值,但是数据库中该字段该值已经存在,则自动末尾添加 _2,如果仍然重复,则改为 _3,以此类推。
最好能批量处理这些插入数据,就说说,最好别每一条数据就一个 insert 语句。