sql >> Databáze >  >> RDS >> Mysql

Co dělat, když na mysql potřebujete celá čísla větší než 20 číslic?

Velká celá čísla nejsou ve skutečnosti omezena na 20 číslic, jsou omezena na čísla, která lze vyjádřit 64 bity (například číslo 99,999,999,999,999,999,999 není platné velké celé číslo, přestože je dlouhé 20 číslic).

Důvod, proč máte toto omezení, je ten, že s celými čísly v nativním formátu může základní hardware manipulovat relativně rychle, zatímco textové verze čísel (mají tendenci) je nutné zpracovávat jednu číslici po druhé.

Pokud chcete číslo větší než největší 64bitové celé číslo bez znaménka 18,446,744,073,709,551,615 pak jej budete muset uložit jako varchar (nebo jiné textové pole) a doufejte, že s ním nebudete muset moc matematicky manipulovat.

Případně se můžete podívat na čísla s plovoucí desetinnou čárkou, která mají větší rozsah, ale méně přesná, nebo na desetinná čísla, která by vám měla poskytnout 65 číslic pro celočíselnou hodnotu, pomocí decimal(65,0) jako typ sloupce.



  1. sql dotaz:jak udělat, aby se značky bez dětí staly rodiči?

  2. mysqli připravený příkaz num_rows vrátí 0, zatímco dotaz vrátí větší než 0

  3. Database-Aware Load Balancing:Jak migrovat z HAProxy na ProxySQL

  4. Je povoleno používat čísla jako názvy tabulek v MySQL?