ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: ChilTunDer ที่ 18 มกราคม 2018, 12:42:28



หัวข้อ: ป้องกัน user บันทึกพร้อมกันยังไง
เริ่มหัวข้อโดย: ChilTunDer ที่ 18 มกราคม 2018, 12:42:28
มีวิธีการป้องกัน user กดบันทึกข้อมูลพร้อมกันไหมครับ
ปัญหาที่เจอตอนนี้คือถ้าจังหวะที่ user กดพร้อมกันขึ้นมา insert จะ error ทันที เพราะ ID จะซ้ำกันครับ ที่คิดไว้คือจะใช้วิธีจอง id ไว้ก่อน แต่ก็ติดปัญหาตรงที่ ถ้า user คนนั้น cancel ไปก่อน id ก็จะถูกข้ามไปเลย เพราะจะ +1 จาก max id ตลอด
 
ใช้ SQL SERVER + PHP ครับ


หัวข้อ: Re: ป้องกัน user บันทึกพร้อมกันยังไง
เริ่มหัวข้อโดย: f206cs ที่ 18 มกราคม 2018, 13:16:26

ส่วนของผมใช้วิธีตั้ง ID เป็น auto_increment ครับ
(ไม่แน่ใจว่า SQL SERVER มี auto_increment เหมือนใน MYSQL หรือเปล่า ไม่ค่อยได้ศึกษาตัวนั้น แต่คิดว่าน่าจะมีนะ)

เมื่อก่อนเคย GEN ID เอง เจอปัญหามากมาย

 :wanwan003: :wanwan003: :wanwan003:


หัวข้อ: Re: ป้องกัน user บันทึกพร้อมกันยังไง
เริ่มหัวข้อโดย: SWOY ที่ 18 มกราคม 2018, 13:27:30
IDENTITY ครับ

เพิ่มเติม hxxps://stackoverflow.com/questions/10991894/auto-increment-primary-key-in-sql-server-management-studio-2012


หัวข้อ: Re: ป้องกัน user บันทึกพร้อมกันยังไง
เริ่มหัวข้อโดย: pharaoh_za ที่ 18 มกราคม 2018, 13:30:28
ผมว่า design database แปลกๆนะครับ ควรแก้เป็น auto_increment นะครับ


หัวข้อ: Re: ป้องกัน user บันทึกพร้อมกันยังไง
เริ่มหัวข้อโดย: thanakorn69 ที่ 18 มกราคม 2018, 18:58:01
ตามเป็นความรู้หน่อยครับ