Py学习  »  Python

使用python时SQL mycursor.execute INSERT代码失败

Bottle Capper • 6 年前 • 1529 次点击  

我在MySQL服务器上使用python。

当我执行命令时

mycursor.execute("""INSERT INTO characters VALUES(1,"Bob","Sagen",7,4,4,"Will","Bob's Abs Capacity","Left Hook","Forhead""""")

它会导致一个SQL语法错误,尽管当我在MySQL工作台中使用它时是正确的。数据项是硬编码的。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51080
文章 [ 1 ]  |  最新文章 6 年前
Parfait
Reply   •   1 楼
Parfait    6 年前

考虑将准备好的SQL语句与数据分离的查询参数化,并避免处理混乱的引号或连接:

sql = "INSERT INTO characters VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"

data = [1,"Bob","Sagen",7,4,4,"Will","Bob's Abs Capacity","Left Hook","Forhead"]

mycursor.execute(sql, data)