INT (5) vs SMALLINT (5): ตัวเลขในวงเล็บหลังประเภทตัวเลข


29

ในนิยามของตาราง MySQL มีความแตกต่างระหว่างINT(5)และSMALLINT(5)? หรือว่าพวกเขาทั้งสองมีขนาดเท่ากัน?

คำตอบ:


41

A intและ a smallintมีขนาดต่างกันและมีขนาดต่างกัน (5)เป็นsmallint(5)หรือint(5)ที่เรียกว่า"ตัวเลขประเภทแอตทริบิวต์"และมันหมายถึง "ความกว้างของจอแสดงผล" ของสนาม

MySQL รองรับส่วนขยายสำหรับทางเลือกในการระบุความกว้างในการแสดงผลของชนิดข้อมูลจำนวนเต็มในวงเล็บตามด้วยคำหลักพื้นฐานสำหรับประเภท ตัวอย่างเช่นINT(4)ระบุINTด้วยที่มีความกว้างของการแสดงผลสี่หลัก แอปพลิเคชันอาจใช้ความกว้างในการแสดงผลเพิ่มเติมนี้เพื่อแสดงค่าจำนวนเต็มที่มีความกว้างน้อยกว่าความกว้างที่ระบุสำหรับคอลัมน์ (นั่นคือความกว้างนี้จะปรากฏในข้อมูลเมตาที่ส่งคืนพร้อมชุดผลลัพธ์ไม่ว่าจะถูกใช้หรือไม่นั้นขึ้นอยู่กับแอปพลิเคชัน)

เมื่อใช้ร่วมกับแอตทริบิวต์เผื่อเลือก (ไม่เป็นมาตรฐาน) ZEROFILLการเว้นช่องว่างเริ่มต้นจะถูกแทนที่ด้วยค่าศูนย์ ตัวอย่างเช่นสำหรับคอลัมน์ประกาศเป็นINT(4) ZEROFILLค่าของจะถูกเรียกว่าเป็น50005

นี่คือ MySQL "ส่วนขยาย" และ zerofill เป็น "ส่วนขยาย" ในส่วนขยาย

สำหรับวิธีการที่มีเหตุผลในการควบคุมการแสดงผลประเภทตัวเลขอย่าใช้คุณสมบัติประเภทตัวเลขและใช้แทน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.