Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problem z przechowywaniem dużych liczb w mysql DB

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wstawić Huge Pandas Dataframe w tabeli MySQL za pomocą instrukcji Parallel Insert?

  2. Mysql Kopiuj bazę danych z serwera na serwer jednym poleceniem

  3. jak szybko skopiować dużą tabelę innodb

  4. Jak wyeksportować miliony wierszy z MySQL do CSV za pomocą PHP bez wyczerpywania pamięci?

  5. ERRO 1215. MySQL InnoDB