Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ความแตกต่างระหว่าง MySQL BigInt(20) และ Int(20)

ขนาดและช่วงค่าของชนิดข้อมูล

  • 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 จะเติมศูนย์นำหน้าให้ครบตามความกว้างที่กำหนด