如何解决MySQL如何在插入多个值的INSERT ON DUPLICATE UPDATE后获取受影响行的所有ID
我有 2 个相互依赖的表,分别存储彼此的 id。
例如:
- person_info(id、extra_id、first、last、email)
- extra_info(id、person_info_id、extra1、extra2)
我有大量的行需要从 excel 文件插入到 db 中,它包含 person_info 和 extra_info,如果有重复的(第一个、最后一个、电子邮件)组合,我还需要更新行。我使用了一个循环并且性能不存在。
我想出了一个基于 INSERT ... ON DUPLICATE UPDATE
INSERT INTO person_info (first_name,last_name,id)
VALUES ( 'v1','v2','v3'),( 'v4','v5','v6'),( 'v7','v8','v9')
ON DUPLICATE KEY UPDATE a = VALUES(a),b = VALUES(b),c = VALUES(c);
而且它很快并且可以处理重复项。但是,现在我不知道在哪里插入 extra_info 数据,因为有些行已更新,有些是新行。我想知道是否有办法通过多个插入来获取受 INSERT ... ON DUPLICATE UPDATE
影响的 id 列表?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。