Python 下操作 MySQL 批量插入的一个问题?

2016-04-07 15:59:38 +08:00
 Cola90

表里面有主键为‘ 1234 ’,‘ 3456 ’的两个数据,现在用 Python 批量插入几条新数据 cursor.executemany(Insert into test ( id ) value(%s),('1234'),('6789'),(‘ 9876 ’)) 由于主键 1234 已经存在,这条代码回出错,同时 6789 、 9876 也会插入失败,有办法直接跳过 1234 这条数据,然后进行批量插入吗?

4701 次点击
所在节点    Python
9 条回复
lxy
2016-04-07 16:11:33 +08:00
insert ignore into ?
swjtutipo
2016-04-07 16:17:17 +08:00
insert into xxxxx on duplicate key set xxx
Cola90
2016-04-07 16:17:18 +08:00
@lxy 并不行,只是没了错误提示
Cola90
2016-04-07 16:18:18 +08:00
@swjtutipo 是一个办法,但是我希望不要加入重复数据
fish267
2016-04-07 16:19:21 +08:00
delete if exists
qile1
2016-04-07 20:20:59 +08:00
先判断是否有主健,有就更新数据,没有就插入
Neveroldmilk
2016-04-07 21:35:42 +08:00
检索是否存在,如果存在要么更新,要么删除重新插入。
billgreen1
2016-04-07 22:44:01 +08:00
insert into table on duplicate update
lunaticus7
2016-04-07 23:50:44 +08:00
用 replace

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/269278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX