[英]Python MySQLdb / MySQL INSERT IGNORE & Checking if Ignored
我知道,检查行是否存在的最快方法甚至不是检查,而是在插入新数据时使用INSERT IGNORE。 这对我的应用程序来说是最出色的。 但是,我需要能够检查插入是否被忽略(或者相反,是否实际插入了行)。
我可以使用try / catch,但这不是很优雅。 希望有人可能有一个更清洁,更优雅的解决方案。
自然,在我发布问题后进行最终搜索即可得出结果。
但是,这仍然需要第二次访问数据库。
我很想看看是否有一个干净的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.