PHP和MySql中32位和64位的整形范圍是多少
一個字節(jié)有8位,所以32位int型占用32位/8位=4個字節(jié),64位int型占用64位/8位=8個字節(jié).
32位,64位無符號整型最大值:
2^64-1 = 18446744073709551615
2^32-1 = 4294967295
32位,64位有符號整型最大值:
(2^32)/2-1 = 2147483647
(2^64)/2-1 = 9223372036854775807
減1是因為整型包括0.
64位Ubuntu 14.04,PHP_INT_MAX的值為9223372036854775807,跟MySQL中有符號的bigint型的最大值一樣.
32位Ubuntu 14.04,PHP_INT_MAX的值為2147483647,跟MySQL中有符號的int型的最大值一樣.
echo date('Y-m-d H:i:s', PHP_INT_MAX); 返回 2038-01-19 11:14:07
echo strtotime('2038-01-19 11:14:07'); 返回 2147483647
echo strtotime('2038-01-19 11:14:08'); 32位下返回空
也就是說,32位系統(tǒng)上PHP的time()最大只能返回2038-01-19 11:14:07的時間戳.
字段類型: `posted` int(10) unsigned NOT NULL DEFAULT '0'
32位MySQL上(64位MySQL也是如此),插入一個比32位無符號int型最大值 2^32-1 = 4294967295 更大的數會發(fā)生錯誤:
UPDATE `punbb`.`pb_topics` SET `posted` = '4294967296' WHERE `pb_topics`.`id` = 1;
Warning: #1264 Out of range value for column 'posted' at row 1
不過,MySQL可以用8個字節(jié)的bigint類型來存儲64位整數.
數據類型 |
LP64 |
ILP64 |
LLP64 |
ILP32 |
LP32 |
char |
8 |
8 |
8 |
8 |
8 |
short |
16 |
16 |
16 |
16 |
16 |
_int32 |
N/A |
32 |
N/A |
N/A |
N/A |
int |
32 |
64 |
32 |
32 |
16 |
long |
64 |
64 |
32 |
32 |
32 |
long long |
N/A |
N/A |
64 |
N/A |
N/A |
pointer |
64 |
64 |
64 |
32 |
32 |
以上內容是小編給大家介紹的32位和64位的整形范圍,希望對大家有所幫助。
- MySQL的指定范圍隨機數函數rand()的使用技巧
- mysql中TINYINT的取值范圍
- MySQL單表查詢操作實例詳解【語法、約束、分組、聚合、過濾、排序等】
- 解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
- mysql group_concat 實現把分組字段寫成一行的方法示例
- MySQL group by對單字分組序和多字段分組的方法講解
- MySql Group By對多個字段進行分組的實現方法
- mysql獲取分組后每組的最大值實例詳解
- mysql使用GROUP BY分組實現取前N條記錄的方法
- 詳解MySQL中的分組查詢與連接查詢語句
- mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
- 兩種方法實現mysql分組計數,范圍匯總
相關文章
YII2框架中使用RBAC對模塊,控制器,方法的權限控制及規(guī)則的使用示例
這篇文章主要介紹了YII2框架中使用RBAC對模塊,控制器,方法的權限控制及規(guī)則的使用,結合實例形式分析了YII2框架RBAC對模塊,控制器,方法的權限控制及規(guī)則的使用相關原理與操作技巧,需要的朋友可以參考下2020-03-03