Maison  >  Article  >  base de données  >  Pourquoi mon instruction MySQL INSERT échoue-t-elle et comment puis-je y remédier ?

Pourquoi mon instruction MySQL INSERT échoue-t-elle et comment puis-je y remédier ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-27 16:54:10875parcourir

Why Does My MySQL INSERT Statement Fail, and How Can I Fix It?

Insertion de données dans une base de données MySQL : problème résolu

Dans une tentative d'ajout des entiers 188 et 90 à une base de données MySQL, un utilisateur rencontré une erreur en utilisant ce qui suit code :

import MySQLdb
conn = MySQLdb.connect(host= "localhost",
                  user="root",
                  passwd="newpassword",
                  db="engy1")
x = conn.cursor()
x.execute("SELECT *  FROM anooog1")
x.execute (" INSERT INTO anooog1 VALUES ('%s','%s') ", (188,90))
row = x.fetchall()

Solution :

L'erreur réside dans la syntaxe incorrecte utilisée pour l'instruction "INSERT". La syntaxe correcte dans MySQL pour l'insertion de données est :

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)

Dans ce cas, le code doit être modifié en :

import MySQLdb
conn = MySQLdb.connect(host= "localhost",
                  user="root",
                  passwd="newpassword",
                  db="engy1")
cursor = conn.cursor()
try:
   cursor.execute("INSERT INTO anooog1 (COL1, COL2) VALUES (%s, %s)", (188, 90))
   conn.commit()
except:
   conn.rollback()
conn.close()

Ce code mis à jour utilise la syntaxe "INSERT" correcte et devrait réussir à insérer les entiers dans la table "anooog1".

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