이 기사의 내용은 MYSQL: int 유형을 bigint로 업그레이드하는 것과 이것이 PHP 개발 언어에 미치는 영향에 관한 것입니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다. 비즈니스 성장을 위해 원래 Unsigned int는 더 이상 충분하지 않으며 unsigned bigint
MYSQL 정수 지원 범위:
https://dev.mysql.com/doc/refman/5.7/en/로 업그레이드해야 합니다. 정수 유형.html
Type | Storage | 최소값 | 최대값 |
---|---|---|---|
(바이트) | (서명됨/서명되지 않음) | (서명됨/서명되지 않음) | |
TINYINTTINYINT
|
1 | -128 |
127 |
0 |
255 | 1||
SMALLINT SMALLINT
|
2 | -32768 |
32767 |
0 |
65535 |
||
MEDIUMINT |
3 | -8388608 |
8388607 | 2
0 0
|
16777215 |
||
INT |
4 | -2147483648 |
2147483647 |
0 |
4294967295 |
||
BIGINT BIGINT
|
8 | -9223372036854775808 |
9223372036854775807 |
0 |
18446744073709551615 | 8
9223372036854775807
🎜🎜🎜🎜 🎜🎜 🎜 🎜0
🎜🎜18446744073709551615
🎜🎜🎜🎜
bigint가 지원하는 규모가 매우 크다는 것을 알 수 있습니다. mysql 필드 유형이 조정되었는데, 우리 개발 언어에서 이를 지원하나요?
PHP5.6 64 버전:
PHP의 int 유형 범위는 PHP_INT_MIN(PHP7에서 사용 가능) -
PHP_INT_MAX
,
-
PHP_INT_MAX
,
比如在x64-php下,int的最大范围是:9223372036854775807,对应MYSQL的BIGINT类型
!window下PHP7之前的版本总是32位的,且以下行为会跟下面列出来的点不同
!不支持无符号的整数
超过这个范围的int数,将会转化为float型。我们知道,表单提交或者从数据库取出的数据,是字符串类型,当我们用PHP进行运算的时候,以下几点需要注意的:
예를 들어 x64-php에서 int의 최대 범위는 9223372036854775807이며 이는 MYSQL
의 BIGINT 유형에 해당합니다! 버전 before PHP7 under window 항상 32비트이며, 다음 동작은 아래 나열된 사항과 다릅니다
! 부호 없는 정수는 지원되지 않습니다. 이 범위를 초과하는 int 숫자는 float 유형으로 변환됩니다. 양식을 통해 제출되거나 데이터베이스에서 검색된 데이터는 문자열 유형이라는 것을 알고 있습니다. PHP를 사용하여 작업을 수행할 때 다음 사항에 유의해야 합니다.
http://php를 참조하세요. .net/manual/zh/언어.types.integer.php
1) 이 함수의 출력은 int 유형 범위만 지원합니다. 이 범위를 초과하는 경우 문자열 표현을 사용해야 합니다
$number = "9223372036854775900"; var_dump(intval($number)); //output,默认返回PHP_INT_MAX最大值 int(9223372036854775807)
2) Int 유형은 배열 키 값으로 오버플로되므로 솔루션에서는 키를 문자열
$arr = []; $arr[9223372036854775900] = '1'; var_dump($arr); //output array(1) { [-9223372036854775808]=> string(1) "1" }
3) json_decode 영향
데이터가 int를 초과하는 경우 범위는 float 유형으로 구문 분석됩니다
$str = '[9223372036854775807,9223372036854775907]'; var_dump(json_decode($str)); //output array(2) { [0]=> int(9223372036854775807) [1]=> float(9.2233720368548E+18) }
또한 PHP는 unsigned bigint를 지원할 수 없습니다
위 내용은 MYSQL: int 유형을 bigint로 업그레이드하면 PHP 개발 언어에 영향을 줍니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!