integer
長さ10のタイプの列があります:
`some_number` int(10) unsigned NOT NULL
この列に長すぎる数値を挿入します。
$some_number = 715988985123857;
$query = "INSERT INTO this_table SET some_number = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $some_number);
$stmt->execute();
表にあるものを見ると、番号は次のようになりました。
2147483647
どのように、そしてなぜ715988985123857
になったの2147483647
ですか?
なぜ切り捨てられなかったのですか?
この変換の背後にあるメカニズムは何ですか?また、結果の数値は何らかの式で計算できますか?
私は解決策を探していません。具体的な数字を理解したいだけです。