Python 忽略 MySQL IntegrityError,当尝试添加重复主键时

0 投票
1 回答
961 浏览
提问于 2025-04-18 12:42

我在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

撰写回答