Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi mes mises à jour MySQL dans Python ne prennent-elles pas effet ?

Barbara Streisand
Libérer: 2024-11-03 14:43:02
original
774 Les gens l'ont consulté

Why Aren't My MySQL Updates in Python Taking Effect?

Mises à jour MySQL en Python : résolution des échecs de mise à jour

Lors de l'exécution de requêtes de mise à jour MySQL dans des scripts Python, on peut rencontrer le problème où la commande update signale une exécution réussie, mais le tableau reste inchangé. Pour remédier à cela, il est crucial de comprendre le concept de transactions et de commits dans MySQL.

Les transactions sont un ensemble d'opérations exécutées comme une seule unité. Dans MySQL, une transaction commence lorsqu'une requête de mise à jour est exécutée et se termine lorsque la transaction est validée. Si une transaction n'est pas validée, toutes les modifications apportées au cours de cette transaction ne sont pas permanentes et seront ignorées.

Pour résoudre le problème décrit dans la question, l'étape manquante consiste à émettre une commande de validation une fois la requête de mise à jour terminée. exécuté. Cette commande de validation informe le serveur MySQL que toutes les modifications apportées au sein de la transaction doivent être enregistrées de manière permanente dans la base de données.

L'extrait de code suivant démontre l'utilisation de la commande de validation :

import MySQLdb

dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database")
try:
    curb = dbb.cursor()
    curb.execute("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")
    dbb.commit()  # Commit the transaction
    print("Row(s) were updated :" + str(curb.rowcount))
    curb.close()
except MySQLdb.Error as e:
    print("Query failed")
    print(e)
Copier après la connexion

Par y compris l'instruction dbb.commit(), toutes les modifications apportées au sein de la transaction, y compris la mise à jour de la table RadioGroups, seront définitivement enregistrées dans la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal