我在MySQL服务器上使用python。
当我执行命令时
mycursor.execute("""INSERT INTO characters VALUES(1,"Bob","Sagen",7,4,4,"Will","Bob's Abs Capacity","Left Hook","Forhead""""")
它会导致一个SQL语法错误,尽管当我在MySQL工作台中使用它时是正确的。数据项是硬编码的。
考虑将准备好的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)