Maison >base de données >tutoriel mysql >Pourquoi mon opération d'insertion Python MySQL échoue-t-elle ?

Pourquoi mon opération d'insertion Python MySQL échoue-t-elle ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-05 03:28:02665parcourir

Why Is My Python MySQL Insert Operation Failing?

Échec de l'opération d'insertion Python MySql

En Python, l'utilisation du module MySQLdb pour se connecter à une base de données MySQL présente parfois des défis, en particulier lors de la tentative d'insertion d'enregistrements. Un problème courant est que l'opération d'insertion peut échouer en raison d'une étape manquante.

Comprendre le code

Votre code initialise une connexion à la base de données « pdfsearch » à l'aide de l'API MySQLdb. Il crée également un objet curseur et tente d'insérer une nouvelle ligne dans le tableau "documents". Cependant, il manque au code une étape critique pour que l'insertion prenne effet.

Insertion de données dans MySQL

Pour réussir à insérer des enregistrements dans une base de données MySQL à l'aide de Python, vous devez valider les modifications apportées via la connexion à la base de données. La méthode db.commit() doit être appelée avant de fermer la connexion.

Code révisé

Voici le code révisé qui inclut l'étape db.commit() :

<code class="python">import MySQLdb

db = MySQLdb.connect("localhost", "root", "padmaramulu", "pdfsearch")
cursor = db.cursor()

temp = "hello"
number = 2
cursor.execute('insert into documents(docid,docname) values("%d","%s")' % (number, temp))
db.commit()
db.close()</code>

Explication

En ajoutant la ligne db.commit(), vous vous assurez que les modifications apportées à la base de données sont écrites sur le disque et deviennent permanent. Sans cette étape, les modifications seraient perdues à la fermeture de la connexion.

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