Как обновить несколько строк в SQL с помощью dict?

#sql #python-3.x #sql-update

#sql #python-3.x #sql-обновление

Вопрос:

У меня огромное количество пар ключ / значение, что-то вроде

 user_map = {
    ...
    "A123": "A734",
    "A342": "B322",
    ...
}
  

У меня есть таблица UserTable с двумя столбцами

  ----- --------- 
| id  | user_id |
 ----- --------- 
| 1   | A123    |
| 2   | A372    |
| ... | ...     |
 ----- --------- 
  

Я хочу запросить таблицу пользователей и обновить идентификатор пользователя, если он присутствует в ключах user_map, до соответствующего значения. Например, в приведенной выше таблице A123 будет обновлен до A734.

Я пытаюсь сделать это в одном запросе.

Комментарии:

1. (1) Я удалил несовместимые теги базы данных. Пожалуйста, помечайте только используемую вами базу данных. (2) В SQL нет такого понятия, как «dict», поэтому, предположительно, вы используете какой-то язык приложения. Вы должны пометить этот язык.

Ответ №1:

 for key in dictW:
    x = dictW[key]
    print(key, x)
  

Этот вид предоставляет вам ключ и значение отдельно, чтобы вы могли использовать их в своем SQL-операторе. Это приведет к итерации по вашему словарю, чтобы вы могли получить список ключей и значений отдельно для вашего оператора SQL

 UPDATE tablename SET column = value WHERE row = number
  

Комментарии:

1. . . Я не отрицал этот ответ, но я не думаю, что OP хочет писать отдельные операторы обновления. Я думаю, что OP хочет, чтобы python сгенерировал соответствующий код.