BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: thecoy ที่ กันยายน 10, 2007, 12:44:31 PM

หัวข้อ: error
เริ่มหัวข้อโดย: thecoy ที่ กันยายน 10, 2007, 12:44:31 PM
เข้าทำรายงาน opd  แล้ว error ystem Message
SQL Error: Duplicate entry '40' for key 1
select * from report_access_log limit 0

หัวข้อ: Re: error
เริ่มหัวข้อโดย: Khuad ที่ กันยายน 10, 2007, 13:09:54 PM
...น่าจะมีรายละเอียดให้ มากกว่านี้นะครับ.. :D...
หัวข้อ: Re: error
เริ่มหัวข้อโดย: เข็มหล่อ ที่ กันยายน 10, 2007, 13:26:03 PM
แม่นแล้ว ฮูปก้อบ่อมี
เลยบ่อฮู้ จะตอบว่า จะใดดี
หัวข้อ: Re: error
เริ่มหัวข้อโดย: naj ที่ กันยายน 10, 2007, 13:34:55 PM
ลองแก้ด้วยคำสั่งนี้ครับ และอย่าลืมสำรองข้อมูลก่อนที่แก้ไขจริงด้วยนะครับ หรือลองทดสอบคำสั่งใน stand alone ก่อนก็ได้ครับ
โค๊ด: SQL
  1. UPDATE  serial  SET serial_no=SELECT MAX(report_access_id) FROM report_access_log
  2. WHERE name ='report_access_id'
หัวข้อ: Re: error
เริ่มหัวข้อโดย: por ที่ กันยายน 10, 2007, 16:29:14 PM
สงสัยจะเคลียร์ ksklog ใช่ใหมครับ
หัวข้อ: Re: error
เริ่มหัวข้อโดย: thecoy ที่ กันยายน 11, 2007, 09:51:39 AM
เกิดทดสอบupdate  program  นะครับ   แล้ว  ksklog คืออะไรครับ
หัวข้อ: Re: error
เริ่มหัวข้อโดย: The Kop ที่ กันยายน 11, 2007, 10:01:52 AM
ksklog  เป็นตารางที่เก็บบันทึกรายการที่มีการกระทำกับข้อมูลครับไม่ว่าจะเป็น edit , delete  ลองเปิดดูก็ได้ครับแต่หากใช้ไปนาน ๆ แล้ว ไม่แนะนำให้ run ทั้งหมดน่ะครับมันจะแฮงค์ เอาแค่ 100 ก็พอครับ
หัวข้อ: Re: error
เริ่มหัวข้อโดย: Khuad ที่ กันยายน 11, 2007, 10:53:51 AM
....ใช้การ backup / restore ข้อมูลที่ใช้หรือเปล่าครับ....

ส่วนตัวนะครับ   ถ้าใช้วิธีนี้ตอนที่ Backup ข้อมูล ถ้าระบบยังเดินอยู่ แนะนำให้ใช้ แบบ Cold Backup ครับ เพราะจะมีการ lock ตารางไว้ จะไม่ค่อยพบปัญหากับตาราง serial เวลานำมา Restore......
ถ้าใช้แบบ Hot ซึ่งไม่ได้ lock ตารางไว้ในขณะที่ระบบยังเดินอยู่  บางทีเก็บข้อมูลตารางต้นๆไว้แล้ว พอไปถึงตาราง serial ซึ่งอยู่ท้ายๆ ข้อมูลอาจเปลี่ยนทำให้ข้อมูลไม่ตรงกัน เวลานำมาใช้อาจพบปัญหาต้องมาไล่ปรับตาราง serial ใหม่...ที่บอกว่าความเห็นส่วนตัว เพราะไม่แน่ใจว่าเข้าใจเรื่อง Cold / Hot Backup ถูกต้องหรือเปล่า..... :D...