Просто небольшое дополнение, которое я сделал, поскольку я получил странный результат при попытке изменить UUID по мере их создания.Я нашел ответ от Ракеш самым простым, который работал хорошо, за исключением случаев, когда вы хотите удалить штрихи.
Для справки:
UPDATE some_table SET some_field=(SELECT uuid());
Это прекрасно работало само по себе.Но когда я попытался это сделать:
UPDATE some_table SET some_field=(REPLACE((SELECT uuid()), '-', ''));
Тогда все полученные значения были одинаковыми (не сильно различались - я четыре раза проверил с помощью запроса GROUP BY some_field
).Не имеет значения, как я расположил скобки, происходит то же самое.
UPDATE some_table SET some_field=(REPLACE(SELECT uuid(), '-', ''));
Кажется, что при окружении подзапроса для генерации UUID с REPLACE он выполняет UUID-запрос только один раз, что, вероятно, имеет смысл как оптимизация для гораздо умнее разработчиков, чем я, но это не такмне.
Чтобы решить эту проблему, я просто разделил его на два запроса:
UPDATE some_table SET some_field=(SELECT uuid());
UPDATE some_table SET some_field=REPLACE(some_field, '-', '');
Очевидно, простое решение, но, надеюсь, это сэкономит кому-то время, которое я только что потерял.