避免在 postgres 中违反主键约束
Avoid primary key constraint violation in postgres
我有一个应用程序,其中插入是事务的一部分。现在要插入的值来自于用户,所以可能会违反唯一性的主键约束。但是我不希望在出现异常时中止整个事务,我想忽略并继续完成事务中的其余插入。我是 Postgres 的新手,我想知道触发器是否可以作为实现此功能的方式。如果不触发那么什么?感谢您的帮助。
您可以在更新插入操作中使用 on conflict
:
insert into table ([list of columns])
values ([list of values])
on conflict (id) DO NOTHING ;
我假设 id 是你的主键
我有一个应用程序,其中插入是事务的一部分。现在要插入的值来自于用户,所以可能会违反唯一性的主键约束。但是我不希望在出现异常时中止整个事务,我想忽略并继续完成事务中的其余插入。我是 Postgres 的新手,我想知道触发器是否可以作为实现此功能的方式。如果不触发那么什么?感谢您的帮助。
您可以在更新插入操作中使用 on conflict
:
insert into table ([list of columns])
values ([list of values])
on conflict (id) DO NOTHING ;
我假设 id 是你的主键