2012-11-18 2 views
2

Я генерирую UUID, используя INSERT INTO tbl1 (key, val) VALUES (UUID(), :value) непосредственно на MySQL, используя PDO. Я не знаю, как удалить те - (тире) на стороне MySQL, на стороне PHP я могу просто удалить его, используя str_replace().удалить черту UUID, сгенерированную непосредственно на MySQL

ответ

0

, чтобы получить десятичное значение для размещения в некоторое целом поле использовать

UNHEX(REPLACE(UUID(),'-','')) 
+0

Зачем мне нужно 'UNHEX'? Мой тип столбца просто просто «VARCHAR» – fishcracker

+0

, если это так - не нужно – triclosan

+0

Если вы используете UUID как ПЕРВИЧНЫЙ КЛЮЧ, то вы захотите сохранить его как 'BINARY (16)' вместо 'VARCHAR (32) '. Это действительно повысит вашу производительность, когда дело доходит до наборов данных, таких как 10 тысяч. Для этого вам нужно будет стричь тире и разблокировать его, как в этом примере. Вы можете узнать больше о UUID как первичных ключах из блога percona [здесь] (https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/) – adambullmer

6
REPLACE(UUID(),'-','') 

Вам не нужен UNHEX, просто замените дефисы.

Смежные вопросы