Tôi có cơ sở dữ liệu mysql và tôi đang sử dụng nó như một lưu trữ tạm thời các giá trị captcha. Nó có một phím id tăng tự động, với trường int(11)
. Điều gì sẽ xảy ra nếu giá trị này lớn hơn 11 chữ số?Trường mysql int phát triển lớn hơn 11 chữ số
Trả lời
Một điển hình INT sử dụng 4 byte, vì vậy nó có thể lưu trữ những con số:
Signed: -2147483648 to 2147483647
Unsigned: 0 to 4294967295
Một bigint sử dụng 8 byte, vì vậy nó có thể lưu trữ những con số:
Đã ký: -9223372036854775808 to 9223372036854775808
Chưa được ký: 0 to 18446744073709551615
int(11)
sẽ chỉ chấp nhận 11 chữ số đầu tiên. phần còn lại của chúng sẽ bị loại bỏ. Bạn có thể sửa đổi bảng và thay đổi kiểu dữ liệu id của bạn từ int thành bigint
.
Hy vọng điều này sẽ hữu ích.
Số này (11
) hoàn toàn không có gì để làm với phạm vi cột - [SIGNED] INTEGER
xác định phạm vi (-2147483648 - 2147483647
).
Số trong dấu ngoặc đơn chỉ được sử dụng khi kết hợp với ZEROFILL
. Sau đó, nó xác định "độ dài" của số hiển thị, tức là. giá trị 275552
sẽ được trả lại là chuỗi00000275552
.
Như những người khác đã nói, bạn sẽ không nhận được 11 chữ số. Khi bạn đạt đến giá trị tối đa, tất cả các giá trị vượt quá giá trị đó sẽ được coi như là giá trị tối đa. Trong trường hợp của lĩnh vực auto_increment, nó sẽ gây ra tất cả chèn tương lai thất bại cho đến khi bạn thay đổi kiểu cột vào một BIGINT
:
ERROR 1062 (23000): Duplicate entry '4294967295' for key 1
Khi bạn đạt đến giá trị lớn nhất, tất cả các giá trị vượt quá đó sẽ được coi như thể chúng là giá trị tối đa. Trong trường hợp các trường auto_increment, nó sẽ khiến tất cả các lần chèn trong tương lai thất bại cho đến khi bạn thay đổi loại cột thành BIGINT:
- 1. Việc cần làm khi bạn cần số nguyên lớn hơn 20 chữ số trên mysql?
- 2. Số Mysql int (11) nằm ngoài phạm vi
- 3. Trường số nguyên lớn trong các kiểu django
- 4. Csvwrite với số lớn hơn 7 chữ số
- 5. MySQL Trường hợp ngày tháng lớn hơn một tháng?
- 6. MySql Query, chọn lớn hơn
- 7. Phát triển Android 4.0 - onMenuItemSelected (int, Menu)
- 8. So sánh số nguyên Java: lớn hơn
- 9. C++ 11 cách viết mẫu để chọn loại số nguyên lớn hơn?
- 10. Hiệu suất mysql BIGINT so với INT
- 11. javascript nếu số lớn hơn số
- 12. Có loại nào lớn hơn int dài trong C++ không?
- 13. Làm cho phông chữ trở nên lớn hơn trên màn hình lớn hơn
- 14. Các phương pháp hay nhất để phát triển các ứng dụng lớn hơn trên Android
- 15. Môi trường sản xuất/phát triển SharePoint
- 16. MySQL đếm lần xuất hiện lớn hơn 2
- 17. JSF lớn hơn số không hợp lệ
- 18. Nhóm MySQL theo mệnh đề where với số lượng lớn hơn 1
- 19. Môi trường phát triển .NET "Hoàn hảo"?
- 20. mysql chọn các bản ghi lớn hơn 3 tháng
- 21. Python + MySQL - Chèn số lượng lớn
- 22. Quicksort sắp xếp các số lớn hơn nhanh hơn?
- 23. extjs IDE để phát triển nhanh hơn
- 24. Hibernate/MySQL Chèn số lượng lớn
- 25. Môi trường phát triển Lỗi DistributedCache.RoutingClient
- 26. Loại trường hợp RDS nào có IO tốt hơn: Trường hợp DB lớn hơn hoặc Bộ nhớ cao cấp thêm lớn
- 27. Phát triển .NET của ứng dụng iPhone với MonoTouch - môi trường phát triển nào?
- 28. Một số kích thước phông chữ được hiển thị lớn hơn trên Safari (iPhone)
- 29. In ký tự unicode có mã lớn hơn bốn chữ số thập phân
- 30. Thời gian khởi động lại nhanh hơn cho Sitecore (môi trường phát triển)