Python 忽略 MySQL IntegrityError,当尝试添加重复主键时
我在Python中有一个字符串,里面包含大约500条SQL插入查询,这些查询用;
分隔。这样做主要是为了提高性能,否则我会逐条执行查询,就不会遇到这个问题了。
当我运行我的SQL查询时,Python抛出了一个错误:IntegrityError: (1062, "Duplicate entry 'http://domain.com' for key 'PRIMARY'")
。
假设在这500条查询的第一条就出现了这个错误。我该如何确保其他499条查询能够在我的数据库中执行呢?
如果我使用了try和except,当然异常不会被抛出,但我的其他语句就不会被执行了。或者说,因为Python是把所有内容作为一个大字符串发送给MySQL,所以它会执行吗?
有什么想法吗?
1 个回答
1
对于在意这个问题的人来说,我最后使用的SQL命令是ON DUPLICATE KEY UPDATE
。