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

จะเกิดอะไรขึ้นเมื่อใส่ค่าลบลงในคอลัมน์ UNSIGNED ใน MySQL?


เกิดข้อผิดพลาดเมื่อคุณตั้งค่าลบเป็นคอลัมน์ที่ไม่ได้ลงนามใน MySQL ตัวอย่างเช่น ขั้นแรกให้เราสร้างตารางที่มีฟิลด์ที่ไม่ได้ลงนาม -

mysql> สร้างตาราง UnsignedDemo -> ( -> Id int UNSIGNED -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.79 วินาที)

ข้อผิดพลาดจะเป็นดังนี้เมื่อใดก็ตามที่คุณใส่ค่าลบลงในคอลัมน์ Id ซึ่งถูกประกาศเป็น UNSIGNED -

mysql> INSERT INTO UnsignedDemo VALUES(-100);ข้อผิดพลาด 1264 (22003):ค่านอกช่วงสำหรับคอลัมน์ 'Id' ที่แถว 1

ตัวอย่าง

อย่างไรก็ตาม ค่าบวกทำงานได้ดีสำหรับ UNSIGNED เช่นเดียวกันแสดงในตัวอย่างด้านล่าง แทรกบางระเบียนในตารางด้านบนโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> INSERT INTO UnsignedDemo VALUES(100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> INSERT INTO UnsignedDemo VALUES (1000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> INSERT INTO UnsignedDemo VALUES ( 0);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> INSERT INTO UnsignedDemo VALUES(100000000);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.27 วินาที)

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

mysql> SELECT *FROM UnsignedDemo;

ผลลัพธ์

<ก่อนหน้า>+-----------+| รหัส |+-----------+| 100 || 1000 || 0 || 100000000 |+-----------+4 แถวในชุด (0.00 วินาที)