проблема Python MySQL с использованием строки в качестве запроса - PullRequest
1 голос
/ 16 августа 2011

Итак, я в своей программе, где у меня есть строка, содержащая запрос, который я хочу использовать для вставки строки в базу данных:

query = '"INSERT INTO new_test (test_name, IP, test_run_date, results_query_time, run_time) VALUES (%s, %s, %s, %s, %s)", ("new_test", "192.168.17.194", "143917160811", "12.4847829342", "46.1268320084")'

Однако, когда я выполняю команду:

cursor.execute(query)

Я получаю эту ошибку

ProgrammingError: (1064, 'У вас есть ошибка в вашем синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем вашей версии сервера MySQL, чтобы использовать его рядом с \' "INSERT INTO new_test (test_name, IP, test_run_date, results_query_time, run_tim \ 'в строке 1')

Я попробовал несколько других комбинаций цитат, но я не могу на всю жизнь понять, что я делаю неправильно. Есть идеи? Спасибо!

1 Ответ

5 голосов
/ 16 августа 2011

У вас есть дополнительные " в начале запроса.Это определенно сломает это.Похоже, вы хотели:

# notice the extra ' around the %s
query = """INSERT INTO new_test 
              (test_name, IP, test_run_date, results_query_time, run_time) 
           VALUES ('%s', '%s', '%s', '%s', '%s')""" % \
           ("new_test", "192.168.17.194", "143917160811", 
           "12.4847829342", "46.1268320084")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...