MySQL Connector не работает с псевдонимами таблиц

0

Я использую mysql.connector в скрипте python. Когда я пытаюсь выполнить скрипт, который имеет псевдонимы для таблиц, он не может быть выполнен и дает ошибку "неизвестный столбец" column_name 'в' field_list '".

Обе таблицы имеют поля с одинаковыми именами, поэтому я не могу просто не использовать псевдонимы.

Код:

query = ("SELECT ti.itemno, ti.active FROM text_item AS ti"
         "INNER JOIN text_itemmember AS tim ON tim.itemno = ti.itemno;")
cursor.execute(query)

Та же ошибка, которую я получаю при замене псевдонима "ti" на имя таблицы ("text_item"). Я не могу найти информацию о соединителе, не работающем с псевдонимами.

Как это исправить?

Теги:
mysql-connector-python
mysql-connector

1 ответ

0
Лучший ответ

После псевдонима таблицы вам понадобится пробел, например:

query = ("SELECT ti.itemno, ti.active FROM text_item AS ti "
         "INNER JOIN text_itemmember AS tim ON tim.itemno = ti.itemno")
cursor.execute(query)

Python объединяет смежные строковые литералы в один, поэтому у вас на самом деле есть 'tiINNER' в качестве псевдонима.

  • 1
    Не могу поверить, что это была такая маленькая вещь. Это работает сейчас. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню