Задать вопрос
@101-s

Как создать параметризированный SQL запрос через pyodbc к Mysql?

Версия python 3.11, версия pyodbc 5.2.0
Функция не работает:
def test_parametr_sql():
    from pyodbc import connect
    p = ("xxx", "xxx", "xxx", "xxx")

    s = """Driver={0};Server={1};Database={2};UID={3};Password={4};Option=3;charset=UTF8;
        """.format('{MySQL ODBC 8.0 UNICODE Driver}', p[0], p[1], p[2], p[3])
    try:
        con = connect(s, autocommit=True)
    except Exception as e:
        print("Ошибка подключения Mysql %s, %s" % (s, e))

    curs_to = con.cursor()

    tbl_to = "oc_information_description"
    curs_to.execute(f"TRUNCATE TABLE {tbl_to}")

    sql = """
    INSERT INTO oc_information_description 
    ('information_id', 'language_id', 'title', 'description') 
    VALUES (%s, %s, %s, %s) 
    """
    data = [9, 1, 'Правила партнёрской программы', 'xxx']
    curs_to.execute(sql, data)


ошибка

pyodbc.ProgrammingError: ('42000', "[42000] [MySQL][ODBC 8.0(w) Driver][mysqld-5.5.5-10.1.48-MariaDB]You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''information_id', 'language_id', 'title', 'description') \n VALUES (%s, %s, %s' at line 2 (1064) (SQLPrepare)")
  • Вопрос задан
  • 198 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Решения вопроса 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
Убрать кавычки вокруг имён столбцов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽