Lihat http://dev.mysql.com/doc/ refman/8.0/en/numeric-types.html
-
INT
adalah bilangan bulat bertanda empat byte. -
BIGINT
adalah bilangan bulat bertanda delapan byte.
Mereka masing-masing menerima tidak lebih dan tidak lebih sedikit nilai daripada yang dapat disimpan dalam jumlah byte masing-masing. Itu berarti 2 nilai dalam INT
dan 2 nilai dalam BIGINT
.
20 dalam INT(20)
dan BIGINT(20)
hampir tidak berarti apa-apa. Ini adalah petunjuk untuk lebar tampilan. Ini tidak ada hubungannya dengan penyimpanan, atau rentang nilai yang akan diterima kolom.
Praktis, ini hanya mempengaruhi ZEROFILL
pilihan:
CREATE TABLE foo ( bar INT(20) ZEROFILL );
INSERT INTO foo (bar) VALUES (1234);
SELECT bar from foo;
+----------------------+
| bar |
+----------------------+
| 00000000000000001234 |
+----------------------+
Ini adalah sumber kebingungan umum bagi pengguna MySQL untuk melihat INT(20)
dan anggap itu batas ukuran, sesuatu yang analog dengan CHAR(20)
. Ini tidak terjadi.