Python MySQLdb/MySQL插入忽略&;检查是否忽略
我知道检查行是否存在的最快方法甚至不是检查,而是在插入新数据时使用INSERT IGNORE。这对我的申请来说是最好的。但是,我需要能够检查插入是否被忽略(或者相反,如果实际插入了行)Python MySQLdb/MySQL插入忽略&;检查是否忽略,python,mysql,mysql-python,Python,Mysql,Mysql Python,我知道检查行是否存在的最快方法甚至不是检查,而是在插入新数据时使用INSERT IGNORE。这对我的申请来说是最好的。但是,我需要能够检查插入是否被忽略(或者相反,如果实际插入了行) 我可以试一试,但那不是很优雅。我希望有人能有一个更干净、更优雅的解决方案。当然,在我发布问题后进行最终搜索会得到结果 但是,这仍然需要第二次访问数据库。我很想看看是否有一个干净的python方法可以通过一个查询来实现这一点 这将执行INSERT IGNORE查询,如果忽略该INSERT(重复),则lastrow
我可以试一试,但那不是很优雅。我希望有人能有一个更干净、更优雅的解决方案。当然,在我发布问题后进行最终搜索会得到结果 但是,这仍然需要第二次访问数据库。我很想看看是否有一个干净的python方法可以通过一个查询来实现这一点
这将执行INSERT IGNORE查询,如果忽略该INSERT(重复),则lastrowid将为0 当然,在我发布问题后进行最后搜索会得到结果 但是,这仍然需要第二次访问数据库。我很想看看是否有一个干净的python方法可以通过一个查询来实现这一点
这将执行INSERT IGNORE查询,如果忽略该INSERT(重复),则lastrowid将为0 当然,在我发布问题后进行最后搜索会得到结果 但是,这仍然需要第二次访问数据库。我很想看看是否有一个干净的python方法可以通过一个查询来实现这一点
这将执行INSERT IGNORE查询,如果忽略该INSERT(重复),则lastrowid将为0 当然,在我发布问题后进行最后搜索会得到结果 但是,这仍然需要第二次访问数据库。我很想看看是否有一个干净的python方法可以通过一个查询来实现这一点
这将执行INSERT IGNORE查询,如果忽略该INSERT(重复),则lastrowid将为0 这并不总是正确的。如果表的主键未设置为“自动递增”,则cursor.lastrowid将始终为0,无论是插入还是忽略它。(我知道,因为这只是发生在我身上!)这并不总是正确的。如果表的主键未设置为“自动递增”,则cursor.lastrowid将始终为0,无论是插入还是忽略它。(我知道,因为这只是发生在我身上!)这并不总是正确的。如果表的主键未设置为“自动递增”,则cursor.lastrowid将始终为0,无论是插入还是忽略它。(我知道,因为这只是发生在我身上!)这并不总是正确的。如果表的主键未设置为“自动递增”,则cursor.lastrowid将始终为0,无论是插入还是忽略它。(我知道,因为这件事刚刚发生在我身上!)
query = "INSERT IGNORE ..."
cursor.execute(query)
# Last row was ignored
if cursor.lastrowid == 0: