gpt4 book ai didi

java - 批量插入 Postgresql 或 MySQL 时忽略重复约束

转载 作者:行者123 更新时间:2023-11-29 11:09:33 28 4
gpt4 key购买 nike

批量发放时insert statement ,我们如何忽略(抑制)DB和/或JDBC驱动程序抛出的异常?

假设我想批量插入一些用户,并且我有一个 ID 作为唯一键

INSERT INTO users
(id,name,age,email,pass_code)
VALUES
(1,'Mark',18,'mail@mail.com',123),
(2,'Zak',18,'mail@mail.com',123),
(3,'Djigi',18,'mail@mail.com',123),

(1,'James Petkov',18,'mail@mail.com',123), --Duplicated by id ?

(4,'Kinkinikin',18,'mail@mail.com',123),
(5,'A bula bula ',18,'mail@mail.com',123),
(6,'Shakazulo',18,'mail@mail.com',123);

如何告诉引擎MySQL/PostgreSQL继续插入剩余的记录?

SQL 是否支持此功能?

最佳答案

在 PostgreSQL 中,您可以使用以下命令忽略失败的行

INSERT ... ON CONFLICT (id) DO NOTHING;

更通用的解决方案是单独运行每个 INSERT 并忽略错误。

关于java - 批量插入 Postgresql 或 MySQL 时忽略重复约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40844230/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com