【PostgreSQL 中插入数据时跳过已存在记录的方法】
PostgreSQL 中插入数据时跳过已存在记录的方法
- 方法一:使用 INSERT ... ON CONFLICT DO NOTHING
方法一:使用 INSERT … ON CONFLICT DO NOTHING
INSERT INTO 目标表 (列1, 列2, ...)
SELECT 列1, 列2, ...
FROM 源表
ON CONFLICT (唯一约束列) DO NOTHING;
示例:
降雨数据表导入,主键为stcd和tm的联合主键
update st_pptn_r_copy1 set stcd=TRIM(stcd) where stcd like '% %'INSERT INTO st_pptn_r (stcd,
tm,
drp,
intv,
pdr,
dyp,
wth
)
SELECT stcd,
tm,
drp,
intv,
pdr,
dyp,
wth
FROM st_pptn_r_copy1
ON CONFLICT (stcd, tm) DO NOTHING;