GORAGOD.com

freelance, web developer, web designer, hosting, domain name

เกี่ยวกับการรัน ID

เกี่ยวกับการรัน ID อยากให้การสมัครสมาชิกทุกครั้งเริ่มที่ A0001 แล้วคนตอไป เป็น A0002 โดยอัติโนมัติทำยังไงอ่ะคับ ต้องเก็บ ID เป็น INT หรือ VACHAR เกี่ยวมั้ยครับ ทำไม่ได้แลวครับ งง
24 มี.ค. 2552 2 2,184

ลองดุที่ phpmyadmin ข้อมุลชนิด int auto_number แต่จะเก็บเป็น 1,2,3.... ส่วน A0001 A0002.... อันนี้มาจัดรูปแบบการแสดงผลเอาเอง
#1

ปกติ primary ky ของ database นั้นควรจะเป็นค่าที่ไม่ซ้ำกันแล้วก็ต้องไม่มีความหมายใดๆเลย แต่ถ้าต้องการจะสร้างฟิลด์ ID เพื่อนำมาใช้ตามรูปแบบที่กำหนดเองก็มีอยู่ 2 วิธีก็คือให้ตัว DBMS เป็นตัวจัดการเองแล้วนำมาแสดงรูปแบบตามที่ต้องการตามคำตอบของคุณกรกต
 
ส่วนอีกแบบนึงก็คือการเขียน code เพื่อให้มันสร้าง ID แล้วนำไปเก็บลงในฐานข้อมูลอีกที วิธีนี้จะช้ากว่าวิธีแรกและเสี่ยงต่อการซ้ำกันของข้อมูล แต่ได้รูปแบบตามที่ต้องการ ถ้ามันไม่ใช่ pk ก็พอทน

ปัจจุบันเห็นนิยมการใช้ pk หรือ ID แบบ แรนดอมกันนะ.... แบบที่สร้างฟิลด์เพื่อเก็บค่าสุดท้ายก็มีให้เห็นบ้าง ส่วนตัวผมใช้มาก็หลายๆแบบเหมือนกัน แล้วแต่ว่าจะนึกสนุกอันไหน .

ส่วนจะเก็บเป็น INT หรือ VARCHA นั้นผมว่าลองดูโจทย์ของคุณเองให้ดีๆครับ ว่าควรจะเป็น INT หรือ VARCHAR (A0001,  A0002

#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^