Najwyraźniej używasz PHP do wygenerowania tego identyfikatora.
Ponieważ nie wspomniałeś, co dokładnie się dzieje, mogę tylko przypuszczać, że zaprojektujesz bazę danych z pewnych powodów.
Po pierwsze, możesz zapisać ten numer jako bigint
a nie varchar
. To liczba całkowita, którą oszczędzasz, nie widzę powodu, dla którego miałbyś używać varchar i z natury marnować więcej miejsca niż to potrzebne.bigint
wykorzystuje 8 bajtów do przechowywania liczby. Oznacza to, że każda liczba z więcej niż 8 cyframi przechowywanymi w polu varchar zajmowałaby więcej miejsca niż bigint
pole, które może przechowywać numery do 2^64.
Po drugie, upewnij się, że nie używasz żadnego formatowania liczb przed wysłaniem wyniku operacji obliczeniowej do bazy danych. Skopiowałem/wkleiłem przesłaną liczbę całkowitą (10000000754987), a php nie konwertuje jej automatycznie na notację naukową, więc domyślam się, że w tle dzieje się coś innego z generowaniem tej liczby - wyłącz to, jeśli to możliwe, i zapisz numer w odpowiednim typie pola (bigint). Byłoby również przydatne, gdybyś opublikował dodatkowe informacje o swojej aplikacji i jej działaniu, ponieważ błąd nie zawsze występuje w miejscu, w którym ludzie myślą, że jest.