繁体   English   中英

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

[英]Python MySQLdb / MySQL INSERT IGNORE & Checking if Ignored

我知道,检查行是否存在的最快方法甚至不是检查,而是在插入新数据时使用INSERT IGNORE。 这对我的应用程序来说是最出色的。 但是,我需要能够检查插入是否被忽略(或者相反,是否实际插入了行)。

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

自然,在我发布问题后进行最终搜索即可得出结果。

mysql-插入后忽略获取主键

但是,这仍然需要第二次访问数据库。 我很想看看是否有一个干净的pythonic方法可以通过单个查询来执行此操作。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM