我正在处理很多 UUID,并且我一直在网上阅读,这是一个好主意
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)
欲了解更多信息,请访问这里