1
爲了在我的電子商務應用程序中生成唯一的訂單號碼,我正在考慮兩個方法同樣的擔心。爲電子商務生成高度唯一的字符串
第一:
通過這一算法中生成一個唯一的字符串
$orderNumber = "AU".substr(substr(mt_rand(),2,5) . substr(uniqid(),5,4). substr(time(),6,4),0,18);
然後,檢查它是否在訂單表存在,如果不繼續使用,否則產生另一個一。
二:
- 創建與2147483647
- 查詢表的最大值ID自動遞增的表,由一個增加,並與東西休息走在前面
手頭有問題:我如何確保在兩種方法中,表格都是n不會在同一時間打電話,這會導致重複的訂單號碼?如果另一個請求在同一時間進入,mysql
將在讀操作上鎖定表嗎?
請指教。