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

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

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

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

กระทู้: 317



ดูรายละเอียด
« เมื่อ: 18 มกราคม 2018, 12:42:28 »

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

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

กระทู้: 64



ดูรายละเอียด
« ตอบ #1 เมื่อ: 18 มกราคม 2018, 13:16:26 »


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

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

 wanwan003 wanwan003 wanwan003
บันทึกการเข้า
SWOY
Verified Seller
ก๊วนเสียว
*

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

กระทู้: 402



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 18 มกราคม 2018, 13:27:30 »

IDENTITY ครับ

เพิ่มเติม hxxps://stackoverflow.com/questions/10991894/auto-increment-primary-key-in-sql-server-management-studio-2012
บันทึกการเข้า

! ขายแล้ว SMF Lnw v.3 สคริปเว็บบอร์ดระบบจัดการครบครันราคาถูก

รับติดตั้ง ปรับแต่ง smf ดูผลงานได้ตามลิงค์เลย
บริการรับทำเว็บบอร์ด SMF ปรับแต่งบอร์ด SMF
pharaoh_za
สมุนแก๊งเสียว
*

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

กระทู้: 726



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 18 มกราคม 2018, 13:30:28 »

ผมว่า design database แปลกๆนะครับ ควรแก้เป็น auto_increment นะครับ
บันทึกการเข้า

thanakorn69
ก๊วนเสียว
*

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

กระทู้: 428



ดูรายละเอียด
« ตอบ #4 เมื่อ: 18 มกราคม 2018, 18:58:01 »

ตามเป็นความรู้หน่อยครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์