Python: MySQLdb: ошибка: 1064 «У вас ошибка в синтаксисе SQL». - PullRequest
0 голосов
/ 01 марта 2011

Я новичок в 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))

и возвращается со следующей ошибкой:

Ошибка: 1064 «У вас ошибка в синтаксисе SQL.»

Из моего ограниченного понимания MySQLdb вышеприведенный оператор execute должен выполнить следующий оператор SQL:

INSERT INTO my_table (number_one, number_two, number_three) VALUES (1, 2, 3)

Есть идеи, что я могу делать не так?

Ответы [ 2 ]

5 голосов
/ 01 марта 2011

Попробуйте:

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))
1 голос
/ 01 марта 2011

Попробуйте

cursor.execute("""INSERT INTO my_table (%s) VALUES (%s)""" %  (header_string, values))
...