проблемы, чтобы добавить строку в MySQL запросе результата с Python - PullRequest
1 голос
/ 06 ноября 2019

Я хочу добавить строку к результату моего запроса в mysql.

Я попробовал этот код:

mensaje = input ("introduzca el sms que desea enviar: ")
cursorsql1 = conectar.cursor()
sql = "select msisdn, '(mensaje)'VALUES(%s) as mensaje from perfiles where tarifa not like '%Iot%' and transparent_properties not like '%Momo%' and state like '%active%' and msisdn like '56943404789' and created_at between subdate(current_date, 1) and current_date".format(mensaje, values)
cursorsql1.executemany(sql,mensaje)
columnas = cursorsql1.fetchall()
print(columnas)

ошибка это

mysql.connector.errors.ProgrammingError: Параметры для запроса должны быть списком или кортежем.

Я хочу, чтобы результаты выглядели так:

| 56953404789 | some message  |

Любая идея, что может вызватьмоя ошибка?

Заранее спасибо за любую помощь

1 Ответ

0 голосов
/ 06 ноября 2019

Редактировать:

Как указал @Peter, это не безопасный метод

Использовать функцию sql CONCAT:

sql = "SELECT CONCAT(msisdn, {}) AS mensaje FROM perfiles".format(mensaje)
cursorsql1.execute(sql)

Обратите внимание, что на sqlite естьне является функцией CONCAT, вместо этого используйте ||оператор:

msisdn || {} AS mensaje
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...