Я хотел бы передать uuid версии varbinary (16) пользовательской функции в версии MySQL 5.7.x - выдает ошибку
1406 - слишком длинные данные для столбца
У меня есть таблица с uuid
первичным ключом типа varbinary(16)
- я хотел бы преобразовать двоичный файл (16) в читаемую человеком версию, поэтому я написал функцию для преобразования двоичной версии.
CREATE DEFINER=`bala`@`localhost`
FUNCTION `bin_to_uuid`(`uuid` BINARY(32))
RETURNS varchar(32) CHARSET latin1
NO SQL
return LOWER(CONCAT(
SUBSTR(HEX(uuid), 1, 8), '-',
SUBSTR(HEX(uuid), 9, 4), '-',
SUBSTR(HEX(uuid), 13, 4), '-',
SUBSTR(HEX(uuid), 17, 4), '-',
SUBSTR(HEX(uuid), 21)
))
SELECT bin_to_uuid((UNHEX(REPLACE(uuid(), "-",""))))
MySQL версия 5.7.x