Скажем, у вас есть таблица:
`item`
С полями:
`id` VARCHAR( 36 ) NOT NULL
,`order` BIGINT UNSIGNED NOT NULL
И:
Unique(`id`)
И вы звоните:
INSERT INTO `item` (
`item`.`id`,`item`.`order`
) SELECT uuid(), `item`.`order`+1
MySql вставит один и тот же uuid во все вновь созданные строки.
Так что, если вы начнете с:
aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa, 0
bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb, 1
В итоге вы получите:
aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa, 0
bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb, 1
cccccccc-cccc-cccc-cccc-cccccccccccc, 1
cccccccc-cccc-cccc-cccc-cccccccccccc, 2
Как мне дать команду MySql создать разные uuid для каждой строки?
Я знаю, что в MSSQL работает следующее, как и ожидалось:
INSERT INTO item (
id,[order]
) SELECT newid(), [order]+1
nb Я знаю, что могВЫБЕРИТЕ результаты, прокрутите их и введите отдельную команду INSERT для каждой строки из моего PHP-кода, но я не хочу этого делать.Я хочу, чтобы работа выполнялась на сервере базы данных, где она должна быть выполнена.