Python:MySQLdb:错误:1064"您的SQL语法中有错误."

PSS*_*PSS 0 python mysql sql mysql-error-1064

我是MySQLdb和Python的新手.我正在尝试执行以下语句:

header_string = 'number_one, number_two, number_three'
values = '1, 2, 3'
cursor.execute("""INSERT INTO my_table (%s) VALUES (%s)""", (header_string, values))
Run Code Online (Sandbox Code Playgroud)

它返回时出现以下错误:

错误:1064"您的SQL语法中有错误."

根据我对MySQLdb的有限理解,上面的execute语句应该执行以下SQL语句:

INSERT INTO my_table (number_one, number_two, number_three) VALUES (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

我有什么想法可能做错了吗?

Mik*_*eyB 5

尝试:

header_string = ('number_one','number_two','number_three')
values = (1,2,3)
cursor.execute("""INSERT INTO my_table (%s,%s,%s) VALUES (%s,%s,%s)""", (header_string+values))
Run Code Online (Sandbox Code Playgroud)

  • 实际上它将被翻译成:`INSERT INTO my_table(\`number_one \`,...)`.显然它确实有效,因为答案被接受了. (3认同)