ใช้ BIGINT แทน INT สำหรับ Primary Key Auto Increment เพื่อรองรับค่าสูงสุด 9,223,372,036,854,775,807 (ประมาณ 9.2 quintillion)
ไวยากรณ์
yourColumnName BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY;
ตัวอย่างการใช้งาน
สร้างตาราง:
mysql> create table LargeAutoIncrement (
-> Id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY
-> );
Query OK, 0 rows affected (0.78 sec)
Insert เริ่มจากค่าใกล้สูงสุด:
mysql> INSERT INTO LargeAutoIncrement VALUES (9223372036854775805); mysql> INSERT INTO LargeAutoIncrement VALUES (); mysql> INSERT INTO LargeAutoIncrement VALUES ();
ผลลัพธ์ Auto Increment ทำงานต่อจากค่าที่กำหนด:
+---------------------+ | Id | +---------------------+ | 9223372036854775805 | | 9223372036854775806 | | 9223372036854775807 | +---------------------+
เปรียบเทียบชนิดข้อมูล Integer
| Type | Bytes | Signed Max | Unsigned Max |
|---|---|---|---|
| TINYINT | 1 | 127 | 255 |
| SMALLINT | 2 | 32,767 | 65,535 |
| MEDIUMINT | 3 | 8,388,607 | 16,777,215 |
| INT | 4 | 2,147,483,647 | 4,294,967,295 |
| BIGINT | 8 | 9,223,372,036,854,775,807 | 18,446,744,073,709,551,615 |
หมายเหตุ: "Unlimited" ไม่มีจริง BIGINT คือขนาดใหญ่ที่สุดใน MySQL