ThaiSEOBoard.com

ความรู้ทั่วไป => General (ถามคุยวิชาการ IM) => ข้อความที่เริ่มโดย: minigoood ที่ 23 เมษายน 2019, 14:14:11



หัวข้อ: ดาต้าเบสเราสามารถให้มันเรียงลำดับใหม่ได้ไหมครับ
เริ่มหัวข้อโดย: minigoood ที่ 23 เมษายน 2019, 14:14:11
ดาต้าเบสเราสามารถให้มันเรียงลำดับใหม่ได้ไหมครับ

เหมือนลำดับออเดอร์ตอนแรกเป็น 1 2 3 4 5 6 7 8
แต่เราไปลบออเดอร์ 7 8
แต่ถ้ามีคนสร้างมาใหม่ก็จะเป็น 9 10 11 ก็จะเป็น 1 2 3 4 5 6 9 10 11

อยากให้มันเรียงได้ไหมครับ

ถามแค่สงสัยระบบ ดาต้าเบส (เลขไม่สวยอยากให้เรียง)


หัวข้อ: Re: ดาต้าเบสเราสามารถให้มันเรียงลำดับใหม่ได้ไหมครับ
เริ่มหัวข้อโดย: sputtaro ที่ 23 เมษายน 2019, 17:20:45
ทำได้ครับ
ดูแนวทางหนึ่งจากคำตอบในหัวข้อนี้ครับ
Query to Re-index Primary Key of MySQL Database (https://stackoverflow.com/questions/10242311/query-to-re-index-primary-key-of-mysql-database)

หากจะทำจริงๆ ควรคิดถึงลิ้งค์ที่จะอ้างอิงกับข้อมูลในฟิลด์นี้ให้ดี เพราะมันจะเป็นการลบอินเด็กซ์เก่าไป แล้วสร้างอินเด็กซ์ใหม่ขึ้นมาแทน
เช่น ลิ้งค์ที่ กูเกิลเก็บไว้ หรือ มีลิ้งค์ที่เป็นแบคลิ้งค์ของเรา ซึ่งปรากฎอยู่บนเว็บอื่น เป็น index.php?topic=7
เมื่อเราลบ 7 8 ออกไป มันจะหมายถึง หากมีคนกดที่ลิ้งในกูเกิล มันจะส่งมายังเนื้อหาที่ควรจะเป็น page not found เพราะเราลบไปแล้ว
แต่มันจะกลายเป็นเนื้อหาของ topic=9 แทน(เพราะเมื่อ re-index มันจะมาแทนที่ 7 ของเดิม ที่ถูกลบไปแล้ว)
งง หรือเปล่าไม่ทราบ

นี่ผมยังไม่พูดถึง กรณีที่ เรามี จำนวน นับล้านแถวนะครับ

แต่ถ้าคุณไม่สนใจประเด็นนี้ หรือ ออกแบบไว้ป้องกันตรงนี้แล้ว ก็ไม่เป็นไรครับ
เอาง่ายๆเป็นว่า re-index ทำได้ครับ