PHP / MySQL: сохранение и извлечение UUIDS

Я пытаюсь добавить UUID в пару таблиц, но я не уверен, что лучший способ их сохранить или получить. Я понимаю, что гораздо эффективнее использовать BINARY (16) вместо VARCHAR (36). Проведя немного исследований, я также обнаружил, что вы можете преобразовать строку UUID в двоичную:

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

Простите мое невежество, но есть ли простой способ для этого с PHP, а затем вернуть его к строке, когда это необходимо, для удобочитаемости?

Кроме того, будет ли это иметь значение, если я использовал это как первичный ключ вместо auto_increment?

РЕДАКТИРОВАТЬ:

Найденная часть ответа:

  $bin = pack("h*", str_replace('-', '', $guid)); 

Как вы его распакуете?

Хорошо, постараюсь ответить на мой вопрос. Это лучшее, что я мог придумать:

Упаковка:

 $binary = pack("h*", str_replace('-', '', $string)); 

распаковывать

 $string = unpack("h*", $binary); $string = preg_replace("/([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})/", "$1-$2-$3-$4-$5", $string); 

Есть ли какие-либо проблемы с этим, кто может видеть?