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

作者: crossdunk (推噓自如)   2014-06-27 15:06:33
※ 引述《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');
還是說這個方法你測試過了沒有用呢?
作者: up9cloud (九天)   2014-06-27 15:28:00
@@這是用PDO func沒錯.但exec()跟手刻沒兩樣阿...
作者: alog (A肉哥)   2014-06-28 00:47:00
O.o 先不要執著手刻 老東西還是很有用我覺得先把東西做出來比較重要XD..這種事 Code Review 再改
作者: xxxzzz (...)   2014-06-28 10:20:00
@up9cloud手刻是指不需要做for update.等交易指令的東西嗎?如果是,除非你改交易層級,不然資料庫那知你一連串SQL指令,那些要鎖,那些不要鎖.總之,要不要鎖,怎麼鎖效能才最好,還是要你自己判定(前面打錯,改交易層級可能也是不夠)
作者: up9cloud (九天)   2014-06-28 17:19:00
o.o我只是想問一個比較PDO(Data Object)的寫法...交易我沒有很懂,我自己沒用PDO之前也是手刻沒錯。但總覺得會有更好的方法@@~~
作者: alog (A肉哥)   2014-06-28 21:16:00
自己抓時間囉你要評估方法的話 請見 php manual 上面有物件的極限

Links booklink

Contact Us: admin [ a t ] ucptt.com