"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que as atualizações do meu banco de dados Python MySQL não estão refletindo?

Por que as atualizações do meu banco de dados Python MySQL não estão refletindo?

Publicado em 2025-01-21
Navegar:681

Why Aren't My Python MySQL Database Updates Reflecting?

Problema: atualizações automáticas de banco de dados não ocorrem com MySQL e Python

Ao tentar atualizar uma linha em um banco de dados MySQL por meio de código Python, o banco de dados não reflete automaticamente as alterações. Ao consultar diretamente o banco de dados, fica evidente que a atualização não ocorreu.

Possível solução

O problema pode resultar de não confirmar a transação corretamente. MySQLdb desabilita o autocommit por padrão. Adicionar conn.commit() antes de fechar a conexão garantiria que as alterações fossem armazenadas permanentemente no banco de dados.

Código Modificado

import MySQLdb

conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname")
cursor=conn.cursor()

cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100")
conn.commit()  # Commit the changes to the database
cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100")
results = cursor.fetchall()

for row in results:
    print row[0]

print "Number of rows updated: %d" % cursor.rowcount

cursor.close()
conn.close()

Ao confirmar a transação antes de fechar a conexão, o código deve atualizar o banco de dados com sucesso e refletir as alterações na consulta direta.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3