Как мне обновить столбец между двумя уникальными значениями в другом столбце в MySQL или MariaDB?
Рассмотрим таблицу с именем Example
с тремя столбцами:
-
Id
: целочисленный идентификатор с автоматическим приращением RandomId
: серия случайных и уникальных идентификаторов GUID IsUpdated
: столбец в настоящее время содержит только значения NULL, которые необходимо обновить
* ----------------------------------------------------- *
| Id | RandomId | IsUpdated |
| ----------------------------------------------------- |
| 1 | c446980b-cf2f-4f2d-a27b-28d6bde6415d | NULL |
| 2 | d6a1a52c-d073-4019-836a-67cf6551d958 | NULL |
| 3 | 7a339a6a-8e57-4373-84fd-1b40ee51c884 | NULL |
| 4 | 56b908a7-fb07-4f4c-a25d-699cf40cf690 | NULL |
| 5 | fac75ce6-a605-453a-958c-74f197e20a11 | NULL |
* ----------------------------------------------------- *
Я хотел бы обновить IsUpdated
между двумя указанными c GUID, например:
UPDATE Example
SET IsUpdated = 1
WHERE RandomId >= 'd6a1a52c-d073-4019-836a-67cf6551d958' -- Starting Here
AND RandomId <= '56b908a7-fb07-4f4c-a25d-699cf40cf690' -- Ending Here
Итоговая таблица должна выглядеть как следующее:
* ----------------------------------------------------- *
| Id | RandomId | IsUpdated |
| ----------------------------------------------------- |
| 1 | c446980b-cf2f-4f2d-a27b-28d6bde6415d | NULL |
| 2 | d6a1a52c-d073-4019-836a-67cf6551d958 | 1 |
| 3 | 7a339a6a-8e57-4373-84fd-1b40ee51c884 | 1 |
| 4 | 56b908a7-fb07-4f4c-a25d-699cf40cf690 | 1 |
| 5 | fac75ce6-a605-453a-958c-74f197e20a11 | NULL |
* ----------------------------------------------------- *
Но поскольку идентификаторы не являются последовательными, этот метод не работает.
Каким будет наиболее эффективный способ обновления столбца (IsUpdated
) между два уникальных значения в другом столбце (RandomId
)?