Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was tun, wenn Sie in MySQL Ganzzahlen mit mehr als 20 Stellen benötigen?

Große Ganzzahlen sind eigentlich nicht auf 20 Stellen beschränkt, sie sind auf Zahlen beschränkt, die in 64 Bit ausgedrückt werden können (zum Beispiel die Zahl 99,999,999,999,999,999,999). ist keine gültige große Ganzzahl, obwohl sie 20 Stellen lang ist).

Der Grund für diese Einschränkung ist, dass Ganzzahlen im nativen Format relativ schnell von der zugrunde liegenden Hardware manipuliert werden können, während Textversionen einer Zahl (in der Regel) Ziffer für Ziffer verarbeitet werden müssen.

Wenn Sie eine Zahl wünschen, die größer ist als die größte 64-Bit-Ganzzahl ohne Vorzeichen 18,446,744,073,709,551,615 dann müssen Sie es als varchar speichern (oder ein anderes Textfeld) und hoffen, dass Sie nicht viele mathematische Manipulationen daran vornehmen müssen.

Alternativ können Sie mit decimal(65,0) nach Fließkommazahlen suchen, die einen größeren Bereich, aber weniger Genauigkeit haben, oder nach Dezimalzahlen, die Ihnen 65 Stellen für einen ganzzahligen Wert liefern können als Spaltentyp.