Длинное целое число преобразуется при вставке в более короткий столбец, не обрезается. Зачем? Какая формула?
У меня есть столбец типа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
?
Почему оно не обрезалось?
Каков механизм этого преобразования, и можно ли рассчитать полученное число по некоторой формуле?
Я не ищу решение. Я просто хочу понять конкретное число.