2016-12-08 2 views
1

У меня есть значение переменной с запятой (например, var = 'некоторый текст с запятой) Как вставить весь текст (с запятой) в один столбец?Python Вставить vars с запятыми в MySQL

Мой код не работает:

c.execute("""INSERT INTO resumes (var) VALUES (%s)""",(var_with_comma)) 

ответ

1

Вы должны иметь параметры запроса, определенные как Iterable (tuple в вашем случае), замените:

c.execute("""INSERT INTO resumes (var) VALUES (%s)""",(var_with_comma)) 

с:

c.execute("""INSERT INTO resumes (var) VALUES (%s)""",(var_with_comma,)) 

Никакой другой специальный обработанный - t он будет определять, что параметр запроса является строкой и будет обрабатывать кавычки и экранирование соответствующим образом.

+0

Что делать, если у меня было более одного var в запросе INSERT? c.execute ("" "INSERT INTO resumes (var, var2, var3) VALUES (% s)" "", (var_with_comma, var_without_comma, var_with_comma)) –

+0

@KonstantinRusanov nope, добавьте местозаполнитель для каждого параметра запроса. В этом случае: 'INSERT INTO resumes (var, var2, var3) VALUES (% s,% s,% s)' – alecxe

+0

Извините, c.execute ("" "INSERT INTO резюме (var, var2, var3) VALUES (% s,% s,% s) "" ", (var_with_comma, var_without_comma, var_with_comma)) - но это не работает, возвращает TypeError: объект DataError не может быть вызван –

Смежные вопросы