SQLAlchemy: как использовать переменные в операторе обновления - PullRequest
1 голос
/ 20 июня 2019

Я пытаюсь использовать переменную для ключа внутри оператора обновления, но кажется, что использование переменных недопустимо.

Существует таблица "disamb":

+----+-----------+--------------------+-----------+--------------------+  
| id | entity_a  | id_of_entity_a     | entity_b  | id_of_entity       |  
+----+-----------+--------------------+-----------+--------------------+  
| 0  | table     |                    | bar       | -                  |  
+----+-----------+--------------------+-----------+--------------------+  

И таблица "entity":

+--------+----+-----------------------------------------------------------------+  
| entity | id |                           paraphrase                            |  
+--------+----+-----------------------------------------------------------------+  
| table  |  1 | An item of furniture with a flat top and one or more legs       |  
| table  |  2 | A data arrangement with rows and columns                        |  
| bar    |  3 | A retail business establishment that serves alcoholic beverages |  
| bar    |  4 | a long item                                                     |  
+--------+----+-----------------------------------------------------------------+  

Моя программа перебирает столбцы "entity_a" и "entity_b" в таблице "disamb" и ищет в таблице "entity" соответствующие слова, спросите менякоторый выбрать, а затем (должен) записать его в соответствующий столбец "id_of_entity_a" соответственно."Id_of_entity_b".

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

column_name = "id_of_entity_a"  
id_of_entity = "1"  
row = "0"  

, и я пытаюсь выполнить этот код:

update_stmt = tbl.update().\
    values(column_name=id_of_entity).\
    where(tbl.columns.id == (row))
conn_mysql.execute(update_stmt)

Выдаетошибка: "sqlalchemy.exc.CompileError: Неиспользованные имена столбцов: column_name"

Как мне решить эту проблему?Thx!

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