【发布时间】:2019-07-30 12:11:22
【问题描述】:
我有一个存储 MAC 地址的数据库。 quite some discussion 介绍了如何在 MySQL 数据库中存储 MAC 地址,我决定将其存储为无符号 BIGINT 以每行节省几个字节并实现更快的搜索。
这会很好用,除了当我从表中检索实体时,实体中的 mac 地址被限制为 2147483647,即32 位系统的 PHP MAX_INT 值。所以mac地址如果超过2147483647就会不正确(99%的地址都会出现这种情况)。
似乎在从数据库到实体的某个过程中,值被解析为 int,从而破坏了值。
有没有办法避免这种情况?是否可以强制实体属性为字符串而不是int?
- 没有得到答案的类似问题:Cakephp 3 Bigint issue - Not receiving the same contact number
- 我的 Windows 10 笔记本电脑上的 PHP 部署似乎以 32 位运行。一个解决方案会尝试让我的 PHP + Apache (XAMPP) 以 64 位运行,但我宁愿有一个通用的解决方案。
【问题讨论】:
标签: mysql cakephp entity cakephp-3.0 biginteger