0

我正在处理很多 UUID,并且我一直在网上阅读,这是一个好主意

pack('H*',$uuid)

将字符串存储在数据库中以节省存储空间,然后使用

sprintf('insert .... values (%s,...)', $connection->quote($packed_uuid))

但问题是,有时每当我的 UUID 中的“00”转换为 NULL 字符并且无法正确写入数据库时​​。有什么我做错了吗?

4

1 回答 1

0

我想到了。我不应该在存储值时打包它,让 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)

欲了解更多信息,请访问这里

于 2012-09-12T00:47:11.380 回答