Вы, очевидно, используете PHP для генерации этого идентификатора.
Поскольку вы не упомянули, что именно происходит, я могу предположить только некоторые причины вашего дизайна базы данных.
Прежде всего,Вы можете хранить это число как bigint
, а не varchar
.Это целое число, которое вы сохраняете, я не вижу причин, по которым вы бы использовали varchar и по сути тратите больше места, чем нужно.bigint
использует 8 байтов для хранения числа.Это означает, что каждое число с более чем 8 цифрами, хранящимися в поле varchar, будет занимать больше места, чем поле bigint
, которое может хранить числа до 2 ^ 64.
Во-вторых, убедитесь, что вы не используете какие-либоформатирование чисел перед отправкой результата вашей расчетной операции в БД.Я скопировал / вставил целое число, которое вы опубликовали (10000000754987), и php автоматически не преобразует его в научную нотацию, поэтому я предполагаю, что у вас есть что-то еще, что происходит в фоновом режиме с генерацией этого числа - отключите его, если это возможно, и сохранитеномер в соответствующем поле типа (bigint).Также было бы полезно, если бы вы опубликовали дополнительную информацию о вашем приложении и о том, что оно делает, потому что ошибка не всегда там, где люди ее воспринимают.