0
我正在尋找一種解決方案,以下情況:Mysql註冊與交易
我有一個錦標賽表中有最大的註冊量。 當註冊發生時,它將在tournament_players表中插入該行。
我的主要問題是我不知道如何避免同時發生兩次或多次註冊並且超過最大註冊量的情況。 我正在研究有關交易,但我並不真正瞭解它在實踐中的工作原理。我可以只鎖定行還是整個表? AFAIK我知道首先需要InnoDB第二需要MyIsam。哪個對我的問題最好?
我正在尋找一種解決方案,以下情況:Mysql註冊與交易
我有一個錦標賽表中有最大的註冊量。 當註冊發生時,它將在tournament_players表中插入該行。
我的主要問題是我不知道如何避免同時發生兩次或多次註冊並且超過最大註冊量的情況。 我正在研究有關交易,但我並不真正瞭解它在實踐中的工作原理。我可以只鎖定行還是整個表? AFAIK我知道首先需要InnoDB第二需要MyIsam。哪個對我的問題最好?
抱歉,您可能會誤解我。設置最大行數不符合我的需要。我需要檢查用戶是否可以在不超過最大註冊量的情況下注冊參加錦標賽,並且我擔心兩個同步請求註冊的情況彼此擊敗並超過它。 – Akos 2015-04-03 21:16:10
我的問題只是在理論上。我想知道現在有什麼解決方案,當我在錦標賽桌上有一個計數器時,我嘗試在玩家註冊時增加。 'UPDATE t SET count = count + 1 WHERE max> count AND id = tournament_id' 如果我有一個受影響的行,我保存註冊,否則不要。 你怎麼想的? – Akos 2015-04-03 21:17:20
你應該把你的評論的代碼放回問題中(編輯問題) – cmbarbu 2015-04-04 00:43:16
@akos,你有蜜蜂能夠測試這個嗎? – BK435 2015-04-07 17:30:37