The following bug has been logged on the website:
Bug reference: 16733
Logged by: zhongxuchen
Email address: zhongxuchen@gmail.com
PostgreSQL version: 12.3
Operating system: centos8
Description:
sorry ,A scene that was missed before!
1、postgresql insert()values()on conflict (pk) do update/ do nothing
当某个字段在数据库中设置为not null,SQL 错误 [23502]: ERROR: null value in column "name"
violates not-null constraint
example:
CREATE TABLE TEST1 (
id varchar(100) NOT NULL,
name varchar(100) NOT NULL,
status varchar(100) NOT NULL,
CONSTRAINT test1_pkey PRIMARY KEY (id)
)
Initialization data
insert into TEST1 (ID, NAME,STATUS ) values('4','test','6') ;
Error scenarios:
1、insert into TEST1 as t1 (ID, NAME,STATUS ) values('4',null,'6') on
conflict
(id) do update set NAME=COALESCE(excluded.NAME,t1.NAME),
STATUS=COALESCE(excluded.STATUS,t1.STATUS);
2、insert into TEST1 as t1 (ID, NAME,STATUS ) values('4',null,'6') on
conflict
(id) do nothing