Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Python MySQLdb / MySQL INSERT IGNORE e verificando se ignorado


Naturalmente, uma pesquisa final depois que eu postar a pergunta produz o resultado.

mysql - após inserir ignorar obtém chave primária

No entanto, isso ainda requer uma segunda viagem ao banco de dados. Eu adoraria ver se existe uma maneira Python limpa de fazer isso com uma única consulta.
query = "INSERT IGNORE ..."
cursor.execute(query)

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

Isso faz uma consulta INSERT IGNORE e se a inserção for ignorada (duplicada), o lastrowid será 0.