Как использовать оператор Python SQL «ОБНОВЛЕНИЕ» для обновления поля таблицы MS Access MySQL, которое требуется выбрать из раскрывающегося меню? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть столбец в таблице MySQL, который в интерфейсе MS Access требует от пользователя выбрать значение в раскрывающемся меню.

Я обнаружил, что (используя оператор python SQL UPDATE) я не мог вставить произвольные значения в поле, не получив следующую ошибку:

DataError: ('22018', '[22018] [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. (-3030) (SQLExecDirectW)')

Затем я попытался скопировать точное значение из выпадающего меню в MS Access, сохраняя его как переменную в python, затем вставляя эту переменную в поле, и я получаю ту же ошибку, что и выше.

Вот мой код:

import pyodbc
copied_exact_value_from_database_dropdown = "exact_copied_value"
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\path\name_of_my_db.accdb;')
cursor = conn.cursor()
cursor.execute('SELECT * FROM table_name')
cursor.execute(
    "UPDATE table_name SET field_with_dropdown = ? WHERE col1 = ? AND col2 = ?", copied_exact_value_from_database_dropdown, 5285, 18)
conn.commit()

Какие у меня варианты? Нужно ли добавлять значения в раскрывающуюся таблицу вручную? Могу ли я сделать это через python? Есть ли другой формат данных, который я должен использовать, чтобы вставить значение? Есть ли способ вернуть значения раскрывающегося списка в python, а затем вернуть их обратно в таблицу с помощью оператора обновления?

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