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

ขีด จำกัด ของ auto_increment (จำนวนเต็ม) ใน MySQL คืออะไร?


ขีดจำกัดของจำนวนเต็ม auto_increment ขึ้นอยู่กับชนิดข้อมูลคอลัมน์ แสดงดังต่อไปนี้:

ประเภทข้อมูล ช่วง TINYINT คือ 127 ประเภทข้อมูล ช่วง TINYINT ที่ยังไม่ได้ลงนาม คือ 255 ประเภทข้อมูล ช่วง SMALLINT คือ 32767 ประเภทข้อมูล ช่วง TINYINT ที่ไม่ได้รับการลงนาม คือ 65535 ประเภทข้อมูล ช่วง MEDIUMINT คือ 8388607 ประเภทข้อมูล ช่วง MEDIUMINT ที่ยังไม่ได้ลงนาม คือ 16777215 ช่วง INT ของประเภทข้อมูล คือ 2147483647 ประเภทข้อมูล ช่วง INT ที่ไม่ได้ลงนาม คือ 4294967295 ประเภทข้อมูล ช่วง BIGINT คือ 9223372036854775807 ประเภทข้อมูล ช่วง BIGINT ที่ไม่ได้ลงนามคือ 18446744073709551615

ให้เรายกตัวอย่างของ TINYINT หากคุณให้เกิน 127 MySQL จะให้ข้อผิดพลาด

ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ ที่นี่ ID คือ auto_incerement:

mysql> สร้างตาราง LimitOfAutoIncrement -> ( -> Id TINYINT ไม่ใช่ NULL AUTO_INCREMENT, -> คีย์หลัก (Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที)

แทรกเพียง 127 ระเบียนซึ่งจำกัด auto_increment ใน TINYINT แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า LimitOfAutoIncrement (),(),(),(),(),(),(),(),(),(),(),(),(),() ,(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),( ),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(), (),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),() ,(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),( ),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(), (),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),() ,(),(),(),(),(),(),(),(),(),(),(),(),();แบบสอบถามตกลง 127 แถวได้รับผลกระทบ (0.20 วินาที) บันทึก:127 รายการซ้ำ:0 คำเตือน:0

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก LimitOfAutoIncrement

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+| รหัส |+----+| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24 || 25 || 26 || 27 || 28 || 29 || 30 || 31 || 32 || 33 || 34 || 35 || 36 || 37 || 38 || 39 || 40 || 41 || 42 || 43 || 44 || 45 || 46 || 47 || 48 || 49 || 50 || 51 || 52 || 53 || 54 || 55 || 56 || 57 || 58 || 59 || 60 || 61 || 62 || 63 || 64 || 65 || 66 || 67 || 68 || 69 || 70 || 71 || 72 || 73 || 74 || 75 || 76 || 77 || 78 || 79 || 80 || 81 || 82 || 83 || 84 || 85 || 86 || 87 || 88 || 89 || 90 || 91 || 92 || 93 || 94 || 95 || 96 || 97 || 98 || 99 || 100 || 101 || 102 || 103 || 104 || 105 || 106 || 107 || 108 || 109 || 110 || 111 || 112 || 113 || 114 || 115 || 116 || 117 || 118 || 119 || 120 || 121 || 122 || 123 || 124 || 125 || 126 || 127 |+----+127 แถวในชุด (0.00 วินาที)

ตอนนี้คุณไม่สามารถแทรกบันทึกสำหรับ auto_increment หากคุณลองแล้วจะเกิดข้อผิดพลาด:

mysql> แทรกลงในค่า LimitOfAutoIncrement ();ข้อผิดพลาด 1062 (23000):รายการที่ซ้ำกัน '127' สำหรับคีย์ 'PRIMARY'