sql >> Databasteknik >  >> RDS >> Mysql

Vad ska man göra när man behöver heltal större än 20 siffror på mysql?

Stora heltal är faktiskt inte begränsade till 20 siffror, de är begränsade till de tal som kan uttryckas i 64 bitar (till exempel talet 99,999,999,999,999,999,999 är inte ett giltigt stort heltal trots att det är 20 siffror långt).

Anledningen till att du har den här begränsningen är att heltal i inbyggt format kan manipuleras relativt snabbt av den underliggande hårdvaran medan textversioner av ett nummer (tenderar att) måste bearbetas en siffra i taget.

Om du vill ha ett tal större än det största 64-bitars heltal utan tecken 18,446,744,073,709,551,615 då måste du lagra den som en varchar (eller annat textfält) och hoppas att du inte behöver göra mycket matematisk manipulation på det.

Alternativt kan du titta på flyttalstal som har ett större intervall men mindre precision, eller decimaltal som borde kunna ge dig 65 siffror för ett integralvärde, med decimal(65,0) som kolumntyp.



  1. MySQL LAG/LEAD problem

  2. Kör Oracle Forms som fristående utan webbläsare

  3. Python MySQLdb / MySQL INSERT IGNORE &Kontrollera om ignoreras

  4. Spring Docker-container kan inte komma åt Postgres Docker-container