auto_increment ใน Mysql

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

ภาพประจำตัวสมาชิก
lacoste
PHP Newbie
PHP Newbie
โพสต์: 3
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

auto_increment ใน Mysql

โพสต์โดย lacoste » 25/10/2007 7:33 am

สมมุติว่าผมมี table หนึ่งอยู่ที่ mysql ชื่อ tb_product และ มีฟิลด์ id_prd int(11) เป็น primary key และ set ค่า เป็นแบบ auto_increment.

พอผมมีการ insert ข้อมูลเข้าไปที่ database เรื่อย ๆ ฟิลด์ id_prd ก็มีค่าเพิ่มขึ้นเรื่อยๆ สมมุติมี 10 record ก็จะมีค่าตั้งแต่ 1-10

หลังจากนั้น ผมต้องการลบ record ทั้งหมดทิ้ง

คำถามที่ 1 คือ ทำยังงัยจะให้ ฟิลด์ id_prd มีค่าเริ่มต้นเป็น 1 ใหม่ เหมือนเดิมครับ ??

เพราะถ้าเรา insert data เข้าไปใหม่ ฟิลด์ id_prd จะเริ่ม count ต่อไปเป็น 11 ครับ

คำถามที่ 2 คือ ถ้าลบเฉพาะ บาง record อย่างเช่น ผมไปลบ record ที่ 5 กับ 1 ทำอย่างไรให้มันเรียงลำดับใหม่ อัตโนมัติ โดยที่ ข้อมูลไม่สูญหายคับ (ไม่ทราบว่าอันนี้ทำได้ไหม หรือมีวิธีอื่นที่แนะนำคับ)

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 21368
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์โดย mindphp » 25/10/2007 11:08 am

ใช้วิธี ลบ ข้อมูล อย่างไรครับ
ส่วน ข้อ สอง ตอนนี้ ยัง คิดมะออก ง่ะครับ mysql อย่างเดียว อาจทำไม่ได้
แต่ถ้า เขียน php เข้าไป update ทำได้ ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

ภาพประจำตัวสมาชิก
lacoste
PHP Newbie
PHP Newbie
โพสต์: 3
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์โดย lacoste » 25/10/2007 4:38 pm

พอดีผมเพิ่งจะหัดเขียน php อะคับยังไม่บรรลุเท่าที่ควร คำถามที่ 2 เนี่ย ถ้าเราจะเพื่มการเขียนสคิปที่เป็น php เข้าไป update จะต้องทำอย่างไรคับ รบกวนอธิบายให้หน่อยได้ไหมคับ ขอบคุณล่วงหน้าคับ
:?
ขอให้ความดีจงสถิตอยู่กับตัวท่าน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 21368
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์โดย mindphp » 26/10/2007 1:29 am

ลอง คิดดู ก่อนนะครับ โดย เริ่ม จาก กำหนด ทั้ง หมดที่มีอยู่ ให้ เป็น 1 ให้ หมด ก่อน :-D :-D
แล้วไง ต่อ ลอง คิดดู :-D :-D :-D คิดหนุกๆ เดี๋ยว พรุ่งนี้ มาดูกัน อาจมีได้มากว่า หนึ่งงิธี :lol: :lol:
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

ภาพประจำตัวสมาชิก
lacoste
PHP Newbie
PHP Newbie
โพสต์: 3
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์โดย lacoste » 26/10/2007 7:11 am

ไม่ใช่ไม่คิดนะคับ แต่คิดไม่ออกอะคับ ใช้คำสั่ง DEFINE() กำหนดค่าหรือเปล่า อย่างที่บอกคับ ยังไม่บรรลุซักเท่าไหร่ ถ้ายังงัยเดี๋ยวผมจะลองศึกษาดูอีกนิด ยังงัยก็ช่วยยกตัวอย่างซักนิดนะคับ ผมอาจจะเห็นภาพมากขึ้น

ขอบคุณที่ให้คำแนะนำคับ

<เพิ่งเริ่มต้นอ่านและศึกษาด้วยตัวเองมาไม่กี่เดือนคับ ยัง งงๆ อยู่ต้องขอ อภัยด้วยงับ T_T>

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 21368
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์โดย mindphp » 26/10/2007 4:27 pm

ไม่ได้ ว่า อะไร ครับ:-D แค่ ชวนให้คิดหนุกๆ
วิธี คือ
1.update field นั้นให้ เป็น 1 ทั้งหมด ก่อน
2.เขียน php เพื่อดึงค่าทั้งหมด ของ field นั้นออกมา
3.วน loop ข้อมูลที่ได้ ออกมานั้น และ เอาค่า ใน loop ที่กำหนดให้ เพิ่มขึ้นที่ละ 1 ในแต่ ละ loop มาใส่ตัวแปลซักตัว
4.เอาตัวแปลนั้นสั่ง update table ใหม่ โดยระบุ เงือนไขที่ให้ ในการ update จาก field อื่นๆที่ไม่ซ้ำกัน :arrow:
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 6 และ บุคคลทั่วไป 0 ท่าน