Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Phải làm gì khi bạn cần số nguyên lớn hơn 20 chữ số trên mysql?

Các số nguyên lớn không thực sự giới hạn ở 20 chữ số, chúng được giới hạn ở các số có thể được biểu thị bằng 64 bit (ví dụ:số 99,999,999,999,999,999,999 không phải là một số nguyên lớn hợp lệ mặc dù nó dài 20 chữ số).

Lý do bạn có hạn chế này là do phần cứng bên dưới có thể thao tác tương đối nhanh các số nguyên định dạng gốc trong khi các phiên bản văn bản của một số (có xu hướng) cần được xử lý từng chữ số một.

Nếu bạn muốn một số lớn hơn số nguyên 64-bit không dấu lớn nhất 18,446,744,073,709,551,615 thì bạn sẽ cần phải lưu trữ nó dưới dạng varchar (hoặc trường văn bản khác) và hy vọng rằng bạn không cần phải thực hiện nhiều thao tác toán học với nó.

Ngoài ra, bạn có thể xem xét các số dấu phẩy động có phạm vi lớn hơn nhưng độ chính xác kém hơn hoặc các số thập phân có thể cung cấp cho bạn 65 chữ số cho một giá trị tích phân, với decimal(65,0) là loại cột.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cơn ác mộng cơ sở dữ liệu kế thừa MySQL cuối cùng

  2. Ngăn chặn tự động gia tăng trên chèn trùng lặp MySQL

  3. Chuyển đổi ngày từ yyyy-mm-dd sang dd month_name năm

  4. Giá trị '0000-00-00' không thể được biểu diễn dưới dạng java.sql.Date

  5. Nhân bản, sao chép hoặc sao lưu bảng trong MySQL, MariaDB, Oracle, PostgreSQL, DB2 và SQLite với Tạo bảng dưới dạng SQL