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

ค่าสูงสุดของ smallint (6) ที่ไม่ได้ลงนามใน MySQL คืออะไร?


ค่าสูงสุดของ SMALLINT(6) ที่ไม่ได้ลงนามใน MySQL คือ 65535 หมายเลข 6 ไม่มีผลกับช่วงจริง สามารถใช้เพื่อแสดงความกว้างในบรรทัดคำสั่งเท่านั้น

ค่าต่ำสุดที่ลงนามคือ

-32768

ค่าสูงสุดที่ไม่ได้ลงนามคือ

65535

ค่าสูงสุดที่ลงนามคือ

32767

ให้เราเข้าใจสิ่งนี้ด้วยการเติมค่าศูนย์และสร้างตารางโดยใช้แบบสอบถามต่อไปนี้

mysql> สร้างตาราง smallIntDemo-> (-> FirstNumber smallint(6) zerofill-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.95 วินาที)

ตอนนี้คุณสามารถแทรกระเบียนในตารางโดยใช้คำสั่งแทรก เมื่อใดก็ตามที่คุณแทรกเกินช่วง 65535 ตารางจะไม่แทรก เนื่องจากเป็นค่าสูงสุด แบบสอบถามมีดังต่อไปนี้โดยใส่ค่าที่น้อยกว่าช่วงสูงสุด

mysql> แทรกลงในค่า smallIntDemo (2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า smallIntDemo (23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า smallIntDemo ( 234); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า smallIntDemo (2345); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า smallIntDemo (23456); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.48 วินาที)

ตอนนี้ ให้เราดูบางระเบียนที่จะไม่แทรกลงในตารางเนื่องจากขยายค่าสูงสุด

mysql> แทรกลงในค่า smallIntDemo (234567);ข้อผิดพลาด 1264 (22003):ค่าอยู่นอกช่วงสำหรับคอลัมน์ 'FirstNumber' ที่แถว 1mysql> แทรกลงในค่า smallIntDemo (111111);ข้อผิดพลาด 1264 (22003):ค่านอกช่วง สำหรับคอลัมน์ 'FirstNumber' ที่แถวที่ 1

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

mysql> เลือก *จาก smallIntDemo;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงการใช้ความกว้างเช่นตัวเลขใน SMALLINT(6) ความกว้างคือ 6.

<ก่อนหน้า>+-------------+| FirstNumber |+-------------+| 000002 || 000023 || 000234 || 002345 || 023456 |+-------------+5 แถวในชุด (0.00 วินาที)