我對此有這樣的疑問: 當兩個用戶點擊書籍按鈕時,在同一毫秒內,MySQL數據庫會進行雙重輸入。如何避免向數據庫添加雙重數據?MySQL在避免重複輸入時,同時輸入2條相同記錄
參考文獻: 後端:PHP 前端:HTML/CSS/JS
我試圖給執行入口語句之前隨機中斷。
例如:當用戶按下:現在預訂時,我會阻止下一個過程幾秒鐘。然後讓它繼續向MySQL插入數據。
但這似乎是不好的做法。
我可以知道解決此問題的更好方法嗎?
編輯:例如,我有一個劇院預訂系統。情況是:兩個或兩個以上的用戶同時預訂同一個插槽並將其預訂。而其中一個應該獲得成功,其餘的應該會得到一個錯誤。
如果您在數據庫表中使用主鍵,MySQL將不會**創建重複條目。它只會執行兩個查詢中的一個,另一個會失敗,即使它們在確切的時間被髮送到數據庫。 – Aziz
感謝您的回覆。例如,我有一個劇院預訂系統。會發生什麼情況是,兩個用戶同時預訂同一個插槽並將其預訂。而其中一個應該會出錯。 – Smit
如果你的數據庫設計正確,這不應該發生。例如,如果您使用表格預訂時間段,其中主鍵是日期和時間,那麼您不能在同一個時間段中在該表中有兩個條目。 – Aziz