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

เพิ่มข้อ จำกัด จำนวนเต็มบวกให้กับคอลัมน์จำนวนเต็มใน MySQL หรือไม่


คุณต้องใช้ unsigned สำหรับสิ่งนี้เพราะจะไม่อนุญาตให้คุณป้อนตัวเลขติดลบ

ไวยากรณ์มีดังนี้

สร้างตาราง yourTableName( yourColumnName INT UNSIGNED);

เพื่อให้เข้าใจแนวคิด ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง OnlyPositiveValue -> ( -> ทำเครื่องหมาย int ว่าไม่ได้ลงนาม -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

ก่อนแทรกข้อมูลในตาราง ให้ใช้แบบสอบถามด้านล่าง

แบบสอบถามมีดังนี้

mysql> SET @@SESSION.sql_mode ='STRICT_TRANS_TABLES';ตกลง ตกลง 0 แถวได้รับผลกระทบ 1 คำเตือน (0.00 วินาที)

ตอนนี้ ถ้าคุณจะเพิ่มจำนวนลบในคำสั่ง INSERT ข้อผิดพลาดต่อไปนี้จะมองเห็นได้

mysql> แทรกลงในค่า OnlyPositiveValue(-10);ERROR 1264 (22003):อยู่นอกช่วงค่าสำหรับคอลัมน์ 'Marks' ที่แถว 1mysql> แทรกลงในค่า OnlyPositiveValue(-100);ERROR 1264 (22003):ออกจาก ค่าช่วงสำหรับคอลัมน์ 'Marks' ที่แถว 1

ให้เราใส่จำนวนบวก

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า OnlyPositiveValue (0) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า OnlyPositiveValue (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า OnlyPositiveValue ( 100);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

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

แบบสอบถามมีดังนี้

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

ต่อไปนี้เป็นผลลัพธ์ที่แสดงจำนวนบวก

<ก่อนหน้า>+-------+| เครื่องหมาย |+-------+| 0 || 10 || 100 |+-------+3 แถวในชุด (0.00 วินาที)