私はこれを単純にしておきます。私は、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)."')");
結果である:ケース1で が、それは通常、何らかの理由で切り上げ、わずかに異なる番号を挿入します。
ケース2の場合、ちょうどいい数字を挿入します!多分誰かがこの謎に光を当てるのを助けることができます!再度、感謝します!
大きなintデータ型は:
bigint(200)
ブラケット番号は、表示目的のためのもので、MySQLが表示する数字の桁数です。内部的にストレージ要件には何の影響もありません。bigintは常に64ビットです。つまり、最大20桁です。 MySQlに20を超えることのできない数字に200桁の数字を表示することは無意味です –