如何使用executemany()插入多行但忽略错误行?
我正在使用 Python 的 MySQLdb 库把数据插入到 MySQL 数据库中。
InsertList
里有很多行数据。大部分都是有效的,只有少数几行违反了数据库的完整性规则。
如果我运行下面的代码,命令就会返回一个错误。
Cursor1.executemany(query, InsertList)
我该如何让 executemany() 插入有效的行,而忽略那些有问题的行呢?这些有问题的行是因为新行中有重复的值。难道我必须一个一个地用 execute() 来插入这些行吗?
谢谢你的帮助。
1 个回答
14
使用这个SQL命令
INSERT IGNORE INTO
而不是简单的
INSERT INTO
这里有一个文档的参考链接。注意,还有INSERT REPLACE
(可以用新值替换重复的记录)和INSERT ... ON DUPLICATE KEY UPDATE
(可以更灵活地处理重复的键)这两个选项。