【问题标题】:How to use executemany() to insert multiple rows but ignore the erroneous ones?如何使用 executemany() 插入多行但忽略错误行?
【发布时间】:2014-04-09 04:54:58
【问题描述】:

我正在使用 Python MySQLdb 将数据插入到 mysql 数据库中。

InsertList 包含许多行。除了少数违反数据库完整性规则的情况外,所有这些都是有效的。 如果我运行下面的代码,命令会返回错误。

Cursor1.executemany(query, InsertList)

如何强制 executemany() 插入有效但忽略少数错误的行?错误是由新行中的重复值引起的。我是否必须一一使用execute()来插入行?

感谢您的帮助。

【问题讨论】:

    标签: python mysql python-2.7 insert


    【解决方案1】:

    使用 SQL 命令

    INSERT IGNORE INTO
    

    而不是普通的

    INSERT INTO
    

    这是reference to the docs。请注意,还有INSERT REPLACE(用新值替换重复项)和INSERT ... ON DUPLICATE KEY UPDATE 以获得更多控制权。

    【讨论】:

    • 感谢您的回答。你救了我!
    猜你喜欢
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2020-02-29
    • 2013-06-15
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多