"ไม่ได้ลงชื่อ" หมายถึงอะไรใน MySQL และเมื่อใดที่ฉันควรใช้
"ไม่ได้ลงชื่อ" หมายถึงอะไรใน MySQL และเมื่อใดที่ฉันควรใช้
คำตอบ:
MySQLพูดว่า:
จำนวนเต็มทุกประเภทสามารถมีแอตทริบิวต์เสริม (ไม่ได้มาตรฐาน) UNSIGNED ประเภทที่ไม่ได้ลงชื่อสามารถใช้เพื่ออนุญาตเฉพาะตัวเลขที่ไม่ต้องการในคอลัมน์ หรือเมื่อคุณต้องการช่วงตัวเลขบนที่ใหญ่กว่าสำหรับคอลัมน์ ตัวอย่างเช่นหากคอลัมน์ INT ไม่ได้ลงนามขนาดของช่วงคอลัมน์จะเท่ากัน แต่จุดสิ้นสุดจะเปลี่ยนจาก -2147483648 และ 2147483647 เป็น 0 และ 4294967295
ฉันจะใช้เมื่อใด
ถามตัวเองด้วยคำถามนี้: ฟิลด์นี้จะมีค่าเป็นลบหรือไม่
ถ้าคำตอบคือไม่ใช่คุณต้องการUNSIGNEDประเภทข้อมูล
ข้อผิดพลาดทั่วไปคือการใช้คีย์หลักที่เพิ่มขึ้นอัตโนมัติINTเริ่มต้นที่ศูนย์แต่ประเภทคือSIGNEDในกรณีนี้คุณจะไม่สัมผัสกับจำนวนลบใด ๆ และคุณลดช่วงของรหัสที่เป็นไปได้ครึ่งหนึ่ง
positiveททริบิวต์ด้วยเหมือนกันว่าคุณต้องการทำงานกับตัวเลขที่เป็นบวกและไม่ใช่ศูนย์เท่านั้น