Я предполагаю, что вы используете PHP из комментариев к вопросу. (в настоящее время не помечено как "php"). Я просто добавлю свои 2 цента здесь
Я пытаюсь использовать LAST_INSERT_ID для индекса с автоинкрементом, который переместился за пределы значения int со знаком 2147483647. Этот столбец является целым без знака. Однако LAST_INSERT_ID () возвращает недопустимое отрицательное значение. Исследуя это, я нашел пару комментариев, указывающих, что это природа этой функции. Но я не могу найти это официально задокументировано. Есть несколько сообщений об ошибках, появившихся несколько лет назад.
mySQL Функция LAST_INSERT_ID
вернет ID из последней INSERT в столбце AUTO_INCREMENT
(для текущего соединения), так что если ваш столбец - INTEGER UNSIGNED
, как вы сказали, он может вернуть значения больше 2147483647 . Это правильное поведение.
Так что мне нужно знать, является ли это на самом деле известной ошибкой и / или есть ли что-то, что я могу с этим сделать. Нужно ли обновлять mySQL до более новой версии?
Тип данных mySQL имеет мало общего с представлением, которое вы выбрали для использования на PHP , поэтому проблема не в сервере mySQL . Если ваша PHP установка не может обрабатывать числа, такие БОЛЬШИЕ, тогда вы можете рассматривать это как string
(Shadow Radiance сказал).