ขนาดและช่วงค่าของชนิดข้อมูล
- INT: ใช้พื้นที่ 4 ไบต์ (32 บิต) จัดเก็บค่าได้ 232 ค่า
- BIGINT: ใช้พื้นที่ 8 ไบต์ (64 บิต) จัดเก็บค่าได้ 264 ค่า
ตัวอย่างการใช้งานกับ ZEROFILL
สร้างตารางพร้อม ZEROFILL เพื่อแสดงความกว้างของตัวเลข:
mysql> create table IntandBigint20Demo (
-> Number int(20) zerofill,
-> Code BigInt(20) zerofill
-> );
Query OK, 0 rows affected (0.58 sec)
เพิ่มข้อมูลทดสอบ
mysql> insert into IntandBigint20Demo values(987,987); Query OK, 1 row affected (0.16 sec)
แสดงผลลัพธ์
mysql> select * from IntandBigint20Demo;
+----------------------+----------------------+ | Number | Code | +----------------------+----------------------+ | 00000000000000000987 | 00000000000000000987 | +----------------------+----------------------+ 1 row in set (0.00 sec)
สรุปความแตกต่าง
ตัวเลข 20 ใน int(20) และ BigInt(20) หมายถึง ความกว้างในการแสดงผล (display width) ไม่ใช่ขนาดการจัดเก็บ ขนาดจริงคือ 4 ไบต์สำหรับ INT และ 8 ไบต์สำหรับ BIGINT การใช้ ZEROFILL จะเติมศูนย์นำหน้าให้ครบตามความกว้างที่กำหนด