相关疑难解决方法(0)

冲突时,在具有非空约束的 Postgres 中不执行任何操作

是否不可能利用“ON CONFLICT DO NOTHING”来避免插入和违反非空约束?

例如...

INSERT INTO public.users (user, user_yob, sex) 
SELECT mom, mom_yob, 'F' 
FROM staging.users 
ON CONFLICT DO NOTHING;
Run Code Online (Sandbox Code Playgroud)

产生此错误并停止...

INSERT INTO public.users (user, user_yob, sex) SELECT mom, mom_yob, 'F' FROM staging.users ON CONFLICT DO NOTHING
> ERROR:  null value in column "user" violates not-null constraint
  DETAIL:  Failing row contains (0b159b81-6842-4ae7-961c-2e9cff8488b1, null, null, null, null, null, null, null, null, null, F).
Run Code Online (Sandbox Code Playgroud)

理想情况下,这个特定的插入将被忽略而不是引发错误。

postgresql

5
推荐指数
1
解决办法
8573
查看次数

标签 统计

postgresql ×1