Python MySQLdb / MySQL INSERT IGNORE&检查是否忽略

时间:2014-11-07 12:25:55

标签: python mysql mysql-python

我知道检查行是否存在的最快方法是检查,但在插入新数据时使用INSERT IGNORE。这对我的应用来说非常优秀。但是,我需要能够检查是否忽略了插入(或者相反,如果实际插入了行)。

我可以使用try / catch,但这不是很优雅。希望有人可能有一个更清洁,更优雅的解决方案。

1 个答案:

答案 0 :(得分:2)

当然,我发布问题后的最终搜索会产生结果。

mysql - after insert ignore get primary key

但是,这仍然需要第二次访问数据库。我很想知道用一个查询是否有一种干净的pythonic方法。

query = "INSERT IGNORE ..."
cursor.execute(query)

# Last row was ignored
if cursor.lastrowid == 0:

这会执行INSERT IGNORE查询,如果插入被忽略(重复),则lastrowid将为0.