Mysql
 sql >> база данни >  >> RDS >> Mysql

Типове в MySQL:BigInt(20) срещу Int(20)

Вижте http://dev.mysql.com/doc/ refman/8.0/en/numeric-types.html

  • INT е четирибайтово цяло число със знак.

  • BIGINT е осембайтово цяло число със знак.

Всеки от тях приема не повече и не по-малко стойности, отколкото могат да бъдат съхранени в съответния брой байтове. Това означава 2 стойности в INT и 2 стойности в BIGINT .

20-те в INT(20) и BIGINT(20) означава почти нищо. Това е намек за ширината на дисплея. Няма нищо общо със съхранението, нито с диапазона от стойности, които колоната ще приеме.

На практика това засяга само ZEROFILL опция:

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

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

Често срещан източник на объркване за потребителите на MySQL е да видят INT(20) и да приемем, че това е ограничение на размера, нещо аналогично на CHAR(20) . Това не е така.



  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 blob

  2. Как да намеря всички таблици, които имат външни ключове, които препращат към определена table.column и имат стойности за тези външни ключове?

  3. INSERT с SELECT

  4. Как да архивирате вашата база данни Chamilo LMS MySQL

  5. SQL - Как да транспонирам?