私は多くのUUIDを扱っており、Webを読んでいるので、
pack('H*',$uuid)
文字列をデータベースに保存する前に文字列を保存して保存し、使用する
sprintf('insert .... values (%s,...)', $connection->quote($packed_uuid))
しかし、問題は、UUIDで「00」を取得するたびにNULL文字に変換され、データベースへの適切な書き込みに失敗する場合があります。私が間違っていることはありますか?
私はそれを考え出した。値を格納するときにパックするべきではなく、mysql 自体にパックさせます。
mysql> INSERT INTO uuid_demo SET id=0x1e8ef774581c102cbcfef1ab81872213, name="Kekoa";
Query OK, 1 row affected (0.00 sec)
そしてそれを選択します:
mysql> SELECT hex(id), name FROM uuid_demo;
+----------------------------------+-------+
| hex(id) | name |
+----------------------------------+-------+
| 1E8EF774581C102CBCFEF1AB81872213 | Kekoa |
+----------------------------------+-------+
1 row in set (0.00 sec)
詳細については、こちらをご覧ください