Maison >base de données >tutoriel mysql >Pourquoi mes mises à jour MySQL ne sont-elles pas validées en Python ?

Pourquoi mes mises à jour MySQL ne sont-elles pas validées en Python ?

DDD
DDDoriginal
2024-11-04 11:10:02830parcourir

Why Are My MySQL Updates Not Committing in Python?

Dépannage de la requête de mise à jour MySQL en Python

En Python, lors de l'exécution d'une opération de mise à jour sur une base de données MySQL à l'aide du module MySQLdb, il est crucial de valider les modifications pour garantir qu’elles sont conservées avec succès. Sinon, les mises à jour peuvent sembler s'exécuter mais ne pas réellement modifier la base de données.

Considérez le code suivant :

<code class="python">dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database")
curb = dbb.cursor()
curb.execute("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")
print "Row(s) were updated :" + str(curb.rowcount)
curb.close()</code>

Bien que le code ci-dessus récupère et imprime correctement le nombre de lignes affectées, la base de données lui-même reste inchangé. Pour valider les modifications et les rendre permanentes, ajoutez l'instruction suivante après avoir exécuté la requête de mise à jour :

<code class="python">dbb.commit()</code>

Cette ligne demande au serveur MySQL de finaliser toutes les modifications en attente et de les appliquer à la base de données. Sans cette étape, les mises à jour effectuées au cours de la session du curseur ne persisteront pas une fois le curseur fermé.

N'oubliez pas que la validation des modifications est essentielle pour toutes les opérations SQL qui modifient les données, telles que INSERT, UPDATE et DELETE. En incluant dbb.commit();, vous vous assurez que vos modifications sont reflétées en permanence 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!

Déclaration:
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