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

Các loại trong MySQL:BigInt (20) so với Int (20)

Xem http://dev.mysql.com/doc/ refman / 8.0 / en / numeric-styles.html

  • INT là một số nguyên có dấu bốn byte.

  • BIGINT là một số nguyên có dấu tám byte.

Mỗi chúng chấp nhận không nhiều hơn và không ít giá trị hơn có thể được lưu trữ trong số byte tương ứng của chúng. Điều đó có nghĩa là 2 giá trị trong một INT và 2 giá trị trong một BIGINT .

20 trong INT(20)BIGINT(20) nghĩa là hầu như không có gì. Đó là một gợi ý cho chiều rộng màn hình. Nó không liên quan gì đến bộ nhớ, cũng như phạm vi giá trị mà cột sẽ chấp nhận.

Trên thực tế, nó chỉ ảnh hưởng đến ZEROFILL tùy chọn:

CREATE TABLE foo ( bar INT(20) ZEROFILL );
INSERT INTO foo (bar) VALUES (1234);
SELECT bar from foo;

+----------------------+
| bar                  |
+----------------------+
| 00000000000000001234 |
+----------------------+

Đây là một nguồn nhầm lẫn phổ biến cho người dùng MySQL khi thấy INT(20) và giả sử đó là giới hạn kích thước, tương tự như CHAR(20) . Đây không phải là trường hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql_real_escape_string () có bảo vệ HOÀN TOÀN khỏi SQL injection không?

  2. Có thể có chỉ mục dựa trên hàm trong MySQL không?

  3. Trình hướng dẫn Entity Framework gặp sự cố trên MySQL

  4. Thêm nhiều cột SAU một cột cụ thể trong MySQL

  5. MySQL Tạo bảng với các khóa ngoại cho errno:150