ดังนั้นนี่จะเป็นคำถามจำลองของปี แต่ฉันต้องถามเนื่องจากไม่ใช่ครั้งแรกที่ฉันผ่านสิ่งนี้ ดูคำจำกัดความของตารางต่อไปนี้:
ลองดูที่คอลัมน์from_number
ซึ่งเป็นVARCHAR(45)
ตอนนี้ แต่มันจะถือหมายเลขโทรศัพท์ เนื่องจากฉันไม่ทราบว่ามีกี่หมายเลขโทรศัพท์ที่สามารถมีได้ทั่วโลกดังนั้นฉันจึงพยายามครอบคลุมเกือบทั้งหมด ฉันต้องการให้สมบูรณ์ของฐานข้อมูลมากที่สุดเท่าที่เป็นไปได้ดังนั้นฉันคิดว่าVARCHAR
ไม่ได้เป็นประเภทที่เหมาะสมสำหรับการถือชนิดของข้อมูลนี้ - บางทีฉันกำลังผิดคุณบอกฉัน - ดังนั้นฉันคิดในการเปลี่ยนแปลงหรือแม้กระทั่งINT
BIGINT
เมื่อฉันกำหนดคอลัมน์ใน Workbench ฉันควรระบุจำนวนระหว่างวงเล็บ()
ไม่ใช่ทุกกรณี แต่ในรายการที่ฉันพูดถึงก่อนหน้านี้ฉันต้องทำ ดังนั้นถ้าฉันทำสิ่งนี้: BIGINT()
ฉันได้รับข้อผิดพลาดนี้:
ซึ่งให้คำแนะนำฉันไปอ่านเล็กน้อยเกี่ยวกับประเภท MySQL นี้ที่นี่ โดยทั่วไปข้อมูลนี้คือ:
จำนวนเต็มขนาดใหญ่ ... ช่วงที่ไม่ได้ลงชื่อคือ 0 ถึง 18446744073709551615
ซึ่งทำให้ฉันถาม: สิ่งที่ฉันควรตั้งค่าสำหรับวงเล็บเมื่อฉันกำหนดBIGINT()
ประเภท (ฉันใช้ BIGINT เพราะฉันไม่ทราบว่า INT สามารถถือตัวเลขได้มากเท่าที่โทรศัพท์มี - บางทีฉันก็ผิดด้วย) วิธีใดที่เหมาะสมในการสร้าง | ออกแบบคอลัมน์ในฐานข้อมูล MariaDB / MySQL
อย่างไรก็ตามฉันต้องการทราบความคิดเห็นประสบการณ์และแน่นอนฉันต้องการคำตอบ
หมายเหตุ:ฉันใช้ MySQL Workbench รุ่นล่าสุดเพื่อสร้างไดอะแกรม ER ฉันใช้ MariaDB 10.0.x ด้วย