Python PymySQL строковые кавычки - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь вставить строку

insert_cmd = "INSERT INTO inv values (\""+str(row[1])+"\",\""+str(row[2])+"\")
(cur.execute(insert_cmd))

Сообщение об ошибке:

pymysql.err.ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'google search appliance"","active","D\' at line 1')

1 Ответ

0 голосов
/ 05 сентября 2018

Лучше использовать параметры запроса, чтобы избежать цитирования и других проблем:

cur.execute("INSERT INTO inv values (%s, %s)", (str(row[1]), str(row[2])))

Также рекомендуется именовать столбцы на случай, если ваша модель изменится позже:

"INSERT INTO inv (col1, col2) VALUES (%s, %s)"
...