Bug เล็กๆ ที่เกิดจากความประมาท โดยระบบตัวนี้จะมี id ที่เป็น PK ตั้งให้ auto increment แต่เนื่องจากไปตั้ง field type เป็นแบบ tinyint ไว้ มันรองรับแค่ 255 เท่านั้น พอมีรายการที่ 256 เข้ามามันเลยเพิ่มเข้าไม่ได้ แล้วแจ้งบอก Dupicate entry ที่เลข 255 มีการใช้ซ้ำแล้ว
โดยปกติถ้าไม่ได้ตั้ง Auto Increment ไว้ เราก็แค่เปลี่ยน ID ไปเป็นเลขอื่น แต่ในตัวอย่างนี้ คือไปขยาย field type ให้มีขนาดใหญ่ขึ้น โดยตั้งเป็น int เลยก็ได้ เปิด unsigned เพราะไม่มีเลขติดลบ
อ้างอิง
int, bigint, smallint, and tinyint (Transact-SQL)
Data type | Range | Storage |
---|---|---|
bigint | -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) | 8 Bytes |
int | -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) | 4 Bytes |
smallint | -2^15 (-32,768) to 2^15-1 (32,767) | 2 Bytes |
tinyint | 0 to 255 | 1 Byte |
int, bigint, smallint, and tinyint (Transact-SQL) – MSDN – Microsoft
https://msdn.microsoft.com/en-us/library/ms187745.aspx