Pymysql.err.OperationalError: 1054. «Неизвестный столбец 'X' в пункте 'where'Python

Программы на Python
Anonymous
Pymysql.err.OperationalError: 1054. «Неизвестный столбец 'X' в пункте 'where'

Сообщение Anonymous »

Я получаю следующую ошибку в консоли, где имя столбца на самом деле является значением, переданным через запрос:

pymysql.err.OperationalError: (1054, «Неизвестный столбец 'LiqNac83437' в
'выраженииwhere'")

Это моя функция:

Код: Выделить всё

sql = f"""
SELECT
detallev.clave,
detallev.cantidad,
venta.fecha
FROM
detallev
INNER JOIN
venta ON detallev.ven_id = venta.ven_id
WHERE
clave = '{codigoBarras}'
AND (fecha BETWEEN {fecha_inicio} AND {fecha_final});"""
print(sql)
with bd:
with bd.cursor() as cursor:
cursor.execute(sql)
resultado = cursor.fetchall()
cursor.close()
который вызывается:

Код: Выделить всё

@app.get('/{sucursal}/reporte/articulos/')
def reporte_articulo(sucursal: Origenes, clave: str = '', fecha_inicial: str = '', fecha_final: str = fechaHoy(), username: str = Depends(valida_usuario)):
return reporte_articulos.reporte_articulo(sucursal, clave, fecha_inicial, fecha_final)
Я использую FastAPI, Python и Mysql.
Я уже пробовал использовать эти решения, но безуспешно:

Решение 1
Решение 2

и несколько других решений за пределами stackoverflow уже пытались обернуть объединенное значение разными способами .
  • При запуске этого запроса непосредственно в рабочей среде Mysql он работает идеально, за исключением вызова его из API.
  • Когда значение имени столбца, передаваемое функции, представляет собой только цифры «47839234215» вместо «LiqNac83437», то есть цифр и букв, это работает отлично, как и ожидалось.


Подробнее здесь: https://stackoverflow.com/questions/709 ... ere-clause

Вернуться в «Python»