ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingAUTO_INCREMENT 2 column ได้ใหมครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: AUTO_INCREMENT 2 column ได้ใหมครับ  (อ่าน 380 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
affsom
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 498



ดูรายละเอียด
« เมื่อ: 19 พฤษภาคม 2017, 03:30:44 »

คือตารางผมกำหนด PRIMARY KEY 2 ตัว
แล้วตัวแรกจะ AUTO_INCREMENT ปกติ แต่อีกตัวต้องการให้ AUTO_INCREMENT เมื่อมีการใส่ค่าลงไปใน field ของ columnนั้น เช่น
1.มีการเพิ่มสมาชิก member_id สมาชิกจะ AUTO_INCREMENT ตามปกติ [member_advance_id จะยังไม่ถูกใส่ค่าลงไปมีค่าเป็น null ประมาณนี้]
2.เมื่อสมาชิกทำการสมัครเป็นสมาชิกพิเศษ member_advance_id
   ต้องการให้ member_advance_id นั้น AUTO_INCREMENT ต่อจาก member_advance_id ล่าสุด
สมมุติว่ามีแค่ตารางเดียวนะครับ
พอทำได้ใหมครับ เพราะที่รู้มา AUTO_INCREMENT จะกำหนดให้ได้กับแค่columnเดียว
ถ้ากำหนดไม่ได้ ค่อยใช้วิธีแยกตารางเอา แต่ไม่อยากไปไล่แก้โค๊ดเพราะต้องการให้ quary แค่แถวเดียวครับ

 wanwan044 wanwan044 wanwan044
« แก้ไขครั้งสุดท้าย: 19 พฤษภาคม 2017, 03:31:30 โดย affsom » บันทึกการเข้า
seopaper
Newbie
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 25



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 19 พฤษภาคม 2017, 08:37:23 »

 Tongue
ก้อคงต้องเขียน ตัวค้นหา advance id ล่าสุดล่ะครับ
เปรียบเทียบเอาครับ ประมาณนี้
คงพอได้...

ไม่ก้อ create view มาเปรียบเทียบ แล้วก้อ drop ไป. ถ้าข้อมูลแยอะมากก้อไม่ควรใช้วิธีนี้ ...

ดูตัวอย่างในนี้ได้ อ่ะครับ
https://dba.stackexchange.com/...nt-columns-in-mysql-phpmyadmin
« แก้ไขครั้งสุดท้าย: 19 พฤษภาคม 2017, 08:40:41 โดย seopaper » บันทึกการเข้า

fontethailand
powerbeer
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 15



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 19 พฤษภาคม 2017, 12:40:13 »

อ่านดูแล้ว เหมือนจะออกแบบผิดนะครับ
ทำไมต้องมีสองคีย์

บันทึกการเข้า

All Free Articles And Content Free For You Website  http://articlecities.net
devnow
Global Moderator
สมุนแก๊งเสียว
*****

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 524



ดูรายละเอียด
« ตอบ #3 เมื่อ: 19 พฤษภาคม 2017, 14:37:44 »

คือตารางผมกำหนด PRIMARY KEY 2 ตัว
แล้วตัวแรกจะ AUTO_INCREMENT ปกติ แต่อีกตัวต้องการให้ AUTO_INCREMENT เมื่อมีการใส่ค่าลงไปใน field ของ columnนั้น เช่น
1.มีการเพิ่มสมาชิก member_id สมาชิกจะ AUTO_INCREMENT ตามปกติ [member_advance_id จะยังไม่ถูกใส่ค่าลงไปมีค่าเป็น null ประมาณนี้]
2.เมื่อสมาชิกทำการสมัครเป็นสมาชิกพิเศษ member_advance_id
   ต้องการให้ member_advance_id นั้น AUTO_INCREMENT ต่อจาก member_advance_id ล่าสุด
สมมุติว่ามีแค่ตารางเดียวนะครับ
พอทำได้ใหมครับ เพราะที่รู้มา AUTO_INCREMENT จะกำหนดให้ได้กับแค่columnเดียว
ถ้ากำหนดไม่ได้ ค่อยใช้วิธีแยกตารางเอา แต่ไม่อยากไปไล่แก้โค๊ดเพราะต้องการให้ quary แค่แถวเดียวครับ

 wanwan044 wanwan044 wanwan044

ต้องแยก 2 ตารางครับ  ปกติ ทำ auto increment 2 column ได้ แต่ต้องไม่มีเงื่อนไข แบบที่ถามครับ คือเพิ่มอัตโนมัติเลยเมื่อมีการบันทึก
แต่ถ้ามีความเกี่ยวเนื่องกันระหว่าง 2 field ควรแยกตารางครับ
บันทึกการเข้า

goragod
คนรักเสียว
*

พลังน้ำใจ: 33
ออฟไลน์ ออฟไลน์

กระทู้: 161



ดูรายละเอียด
« ตอบ #4 เมื่อ: 19 พฤษภาคม 2017, 16:34:57 »

ไม่ได้ครับ

เนื่องจาก auto_increment ต้องเป้น primary ด้วย มันจึงเป็นไปไม่ได้ (primary จะมีได้แค่อันเดียว)

ในกรณีของคำถาม member_advance_id ควรเก็บเฉพาะสถานะ advance เท่านั้น ยกตัวอย่าง 0 กรณีไม่ได้เป็น และ 1 หรือมากกว่า 0 ในกรณีที่เป็น

เพิ่มเติมอีกเล็กน้อย ในกรณีที่ member_advance_id ต้องไปผูกกับตารางอื่น ผมแนะนำให้เพิ่มข้อมูลตารางอื่นก่อน แล้วนำ id ของตารางนั้นมาเป็น member_advance_id ของตารางสมาชิก
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์