mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有错误;在行1

时间:2019-12-30 01:08:17

标签: python mysql

我在MySql上遇到无法识别此语法的问题。

我认为问题在于exeuteute声明中。我正在使用他们以前的方法https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html

def insertPS3(name,gamedb):
    mycursor = gamedb.cursor()
    mycursor.execute("""INSERT INTO ps3 (name) VALUES (%s,)""" % (name,))
    gamedb.commit()

修改

'%s'是解决方案

1 个答案:

答案 0 :(得分:0)

与其使用python字符串格式来格式化SQL语句,不如让光标为您处理它。将参数元组作为第二个参数传递给execute(长度与语句中%s的数量相同)将使光标执行正确的字符串格式

mycursor.execute("INSERT INTO ps3 (name) VALUES (%s)", (name,))