나는 이것을 간단하게하려고 노력할 것이다. MySQL 데이터베이스 테이블에서 BIGINT 데이터 유형을 사용하고 있습니다. 나는 12 자리에서 13 자리까지 오랫동안 걸칠 수있는 고유 한 난수를 생성하는 함수를 가지고있다.MySQL의 BIGINT는 내 번호를 변경합니까? 왜 이렇게합니까?
나는 길이가 12 자리 인 숫자로 데이터베이스에 삽입, 그것은, 그것은 잘
를 입력하지만 13 자리 이상 인 값을 사용할 때 반올림처럼 보인다 또는 어떤 것. 이 경우 하나, 그것은 약간 다른 번호를 삽입 일반적으로, 어떤 이유로 올림 : 여기
PHP
$defaultText = 'some string'; //just some string
$web_id = 12;
$element_id = 23112182735363; //case 1 (doesn't work)
//$element_id = 2311218333205; //case 2, does work()
mysql_query("INSERT INTO tableName (web_id, element_id, content)
VALUES ($web_id, $element_id, '".mysql_real_escape_string($defaultText)."')");
결과입니다.
두 경우에는 숫자를 잘 삽입합니다! 어쩌면 누군가가이 수수께끼에 대해 밝힐 수 있습니다! 다시 한 번 감사드립니다!
큰 INT의 데이터 형식 :
bigint(200)
브래킷 번호는 표시 목적으로 만 사용됩니다. MySQL이 표시해야하는 자릿수입니다. 내부적으로 스토리지 요구 사항에는 전혀 영향을 미치지 않습니다. bigint는 항상 64 비트이므로 최대 20 자리까지 사용할 수 있습니다. 20 개 이상의 숫자를 가질 수없는 숫자에 200 자릿수를 표시하도록 MySQl을 알려주는 것이 무의미합니다. –