SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.02.2024 07:55:49

GTAlex
Участник
Зарегистрирован: 19.02.2024
Сообщений: 2

как генерировать уникальные uuid() в select для каждой строки

как генерировать уникальные uuid() в select для каждой строки?

такая конструкция генерирует одинаковые id  для каждой строки
SELECT UUID_TO_BIN(uuid(), true) as id, sale_product.sale_id, sale_product.product_id FROM sale_product;

а мне для переноса в другую таблицу нужно сгенерировать уникальные

help

Неактивен

 

#2 19.02.2024 08:07:59

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: как генерировать уникальные uuid() в select для каждой строки

Предполагаю, что для такого запроса функции uuid() и UUID_TO_BIN() вызываются один раз и потом их значения подставляются в весь выбранный столбец. Есть возможность в цикле сформировать запрос для переноса в другую таблицу?
При новом вызове uuid() точно будет новое значение.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Активен

 

#3 19.02.2024 08:41:41

GTAlex
Участник
Зарегистрирован: 19.02.2024
Сообщений: 2

Re: как генерировать уникальные uuid() в select для каждой строки

Отбой - всё нормально генерирует уникальные, просто "не по шарам" - начало и конец посмотрел - показалось что одинаковое

Неактивен

 

#4 21.04.2024 16:48:17

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: как генерировать уникальные uuid() в select для каждой строки

Предполагаю, что для такого запроса функции uuid() и UUID_TO_BIN() вызываются один раз и потом их значения подставляются в весь выбранный столбец.

Стало любопытно, составил вот такой запрос:

SELECT 1, UUID()
UNION ALL
SELECT 2, UUID()


+---+--------------------------------------+
| 1 | UUID()                               |
+---+--------------------------------------+
| 1 | 47e6791a-ffe5-11ee-a0c1-d843ae10fed6 |
| 2 | 47e6793f-ffe5-11ee-a0c1-d843ae10fed6 |
+---+--------------------------------------+
2 rows in set (0.00 sec)


Тоже сначала подумал, что значения одинаковые. При ближайшем рассмотрении выяснилось, что разные, отличие где-то в середине, как уже выше отметил GTAlex. Причем помогло то, что результат был набран не моноширинным шрифтом smile Из-за этого у строк получилась чуть разная длина, что и обратило на себя внимание.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson