Maison >base de données >tutoriel mysql >Comment résoudre l'erreur de syntaxe lors de l'insertion de données MySQL ?
Insertion de données dans une base de données MySQL
Le but est d'insérer les entiers 188 et 90 dans une base de données MySQL. Cependant, les tentatives utilisant le code fourni ont échoué.
Analyse du code :
<code class="python">conn.cursor() x.execute("SELECT * FROM anooog1") x.execute (" INSERT INTO anooog1 VALUES ('%s','%s') ", (188,90)) row = x.fetchall()</code>
Le problème réside dans la syntaxe de l'instruction d'insertion. La syntaxe correcte pour insérer des données dans une table est :
<code class="python">x.execute("INSERT INTO anooog1 VALUES (%s, %s)", (188, 90))</code>
Voici un code modifié qui montre comment insérer des données avec succès :
<code class="python">import MySQLdb conn = MySQLdb.connect(host="localhost", user="root", passwd="newpassword", db="engy1") x = conn.cursor() try: x.execute("INSERT INTO anooog1 VALUES (%s, %s)", (188, 90)) conn.commit() except: conn.rollback() conn.close()</code>
Alternativement, un extrait de code plus complet qui couvre la création de la table et l'insertion de données à l'aide d'espaces réservés sont fournies ci-dessous :
<code class="python">import MySQLdb # Connect to database db = MySQLdb.connect("localhost", "root", "password", "testdb") # Setup cursor cursor = db.cursor() # Create anooog1 table cursor.execute("DROP TABLE IF EXISTS anooog1") sql = """CREATE TABLE anooog1 ( COL1 INT, COL2 INT )""" cursor.execute(sql) # Insert data into table try: cursor.execute("""INSERT INTO anooog1 VALUES (%s, %s)""", (188, 90)) db.commit() except: db.rollback() # Show table cursor.execute("""SELECT * FROM anooog1;""") print(cursor.fetchall()) # Close database connection db.close()</code>
En utilisant ce code, vous pouvez créer la table anooog1 et y insérer des données efficacement.
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!