首页  >  文章  >  数据库  >  如何解决MySQL数据插入语法错误?

如何解决MySQL数据插入语法错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-23 14:07:02886浏览

How to Resolve Syntax Error in MySQL Data Insertion?

将数据插入 MySQL 数据库

目标是将整数 188 和 90 插入 MySQL 数据库。但是,使用提供的代码的尝试失败了。

分析代码:

<code class="python">conn.cursor()
x.execute("SELECT *  FROM anooog1")
x.execute (" INSERT INTO anooog1 VALUES ('%s','%s') ", (188,90))
row = x.fetchall()</code>

问题在于插入语句的语法。将数据插入表的正确语法是:

<code class="python">x.execute("INSERT INTO anooog1 VALUES (%s, %s)", (188, 90))</code>

这是一个修改后的代码,演示如何成功插入数据:

<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>

或者,更全面的代码片段,涵盖下面提供了使用占位符创建表并插入数据的方法:

<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>

使用此代码,您可以创建 anooog1 表并高效地向其中插入数据。

以上是如何解决MySQL数据插入语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn