Mysql
 sql >> база данни >  >> RDS >> Mysql

Проблем със съхраняването на големи числа в mysql DB

Очевидно използвате PHP, за да генерирате този идентификатор.

Тъй като не споменахте какво точно се случва, мога само да предполагам определени причини за дизайна на вашата база данни.

Първо, можете да съхраните този номер като bigint а не varchar . Това е цяло число, което запазвате, не виждам причина да използвате varchar и по същество да губите повече място, отколкото е необходимо.bigint използва 8 байта за съхраняване на число. Това означава, че всяко число с повече от 8 цифри, съхранено в полето varchar, ще използва повече място от bigint поле, което може да съхранява числа до 2^64.

Второ, уверете се, че не използвате никакво числово форматиране, преди да изпратите резултата от вашата изчислителна операция в db. Копирах/поставих цялото число, което сте публикували (10000000754987) и php не го преобразува автоматично в научна нотация, така че предполагам, че имате нещо друго на заден план с това генериране на числа - изключете го, ако е възможно и съхранете номер в подходящ тип поле (голям). Също така би било полезно, ако публикувате допълнителна информация за приложението си и какво прави, защото грешката не винаги е мястото, където хората го смятат.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql поддържа ли sp_getapplock

  2. Преобразувайте двоичен в десетичен с помощта на MySQL

  3. Защо MySQL не използва нито един от тези възможни ключове?

  4. Вмъкване на данни с помощта на многоизмерен масив от множество полета

  5. Разберете кой ред не успява при добавяне на ограничение в MySQL