Re: [請益] 關於劃位系統的概念

看板PHP作者 (魯來又魯去)時間11年前 (2014/06/27 15:06), 編輯推噓0(0012)
留言12則, 3人參與, 最新討論串4/4 (看更多)
※ 引述《up9cloud (九天)》之銘言: : ※ 引述《chang0206 (Eric Chang)》之銘言: : : 公司內部福委活動有招待看電影 : : 福委會希望我們能寫一個簡單的劃位系統 : : 大概的架構我已經想好 : : 可是在處理同時劃位的部分沒有什麼想法 : : 當A/B同時開啟訂位畫面,畫了重複的位子,又幾乎同時按下送出時 : : 後面按下送出的 update指令會蓋掉前面一位的紀錄 : : 可是兩位都會看到自己劃位成功 : : 請問大概需要怎樣去避免這樣的情況? : 不好意思,藉著此篇文章, : 問一下問題 : 一直以來 : 我都以為用PDO會自動做完transaction : 直到看到這篇 : http://stackoverflow.com/questions/3106737/pdo-mysql-transactions-and-table-locking : 想請教一下 : 1.除了mysql之外,哪些資料庫是可以安全使用PDO::beginTransaction : 2.php+mysql有沒有什麼好的PDO寫法可以參考的?(我離不開PDO...) : 謝謝! 你貼的那篇下面不就有回文說怎麼寫了嗎@@ $db->beginTransaction(); $db->exec('LOCK TABLES t1, t2, ...'); # do something with tables $db->commit(); $db->exec('UNLOCK TABLES'); 還是說這個方法你測試過了沒有用呢? -- Sent from my 3cm -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.19.218 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1403852797.A.372.html

06/27 15:28, , 1F
@@這是用PDO func沒錯.但exec()跟手刻沒兩樣阿...
06/27 15:28, 1F

06/28 00:47, , 2F
O.o 先不要執著手刻 老東西還是很有用
06/28 00:47, 2F

06/28 00:48, , 3F
我覺得先把東西做出來比較重要XD..這種事 Code Review 再改
06/28 00:48, 3F

06/28 10:20, , 4F
@up9cloud手刻是指不需要做for update.等交易指令的東西嗎?
06/28 10:20, 4F

06/28 10:22, , 5F
如果是,除非你改交易層級,不然資料庫那知你一連串SQL指令,
06/28 10:22, 5F

06/28 10:23, , 6F
那些要鎖,那些不要鎖.總之,要不要鎖,怎麼鎖效能才最好,還是
06/28 10:23, 6F

06/28 10:29, , 7F
要你自己判定(前面打錯,改交易層級可能也是不夠)
06/28 10:29, 7F

06/28 17:19, , 8F
o.o我只是想問一個比較PDO(Data Object)的寫法...
06/28 17:19, 8F

06/28 17:23, , 9F
交易我沒有很懂,我自己沒用PDO之前也是手刻沒錯。
06/28 17:23, 9F

06/28 17:24, , 10F
但總覺得會有更好的方法@@~~
06/28 17:24, 10F

06/28 21:16, , 11F
自己抓時間囉
06/28 21:16, 11F

06/28 21:18, , 12F
你要評估方法的話 請見 php manual 上面有物件的極限
06/28 21:18, 12F
文章代碼(AID): #1JhHVzDo (PHP)
文章代碼(AID): #1JhHVzDo (PHP)