在发布批量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中是否支持这一点?
发布于 2016-11-28 20:28:41
在PostgreSQL中,可以使用以下命令忽略失败的行
INSERT ... ON CONFLICT (id) DO NOTHING;一种更通用的解决方案是单独运行每个INSERT并忽略错误。
https://stackoverflow.com/questions/40844230
复制相似问题