我在寫一個PHP腳本,我需要生成唯一代碼。這些代碼由管理員用戶每次生成100K。我有一個生成代碼的算法,但是重複會進入混合的機會很小 - 大概有0.001%的機會,但仍然可能導致問題。具有唯一約束的批量插入語句
我期待運行BULK INSERT語句:
INSERT INTO coupons ('code') VALUES ('code1'),('code2'),('code3');
這將有它的100K碼。我想知道的是,如果它們都是唯一的,除非讓我們說code100將在該代碼處插入停止,否則將繼續插入其餘部分,並通過警告讓我知道。
如果在第一個副本中最終失敗,我該怎麼辦?性能不是一個大問題,因爲它是一個管理區域,我可以把這個過程轉到完成。
我最終創建了一個類來檢查生成的代碼,然後只插入唯一的代碼,然後再次啓動該過程,直到數量滿足爲止。在性能方面表現很好,因爲它可以輕鬆地在後臺插入幾百萬條記錄,而不會讓公衆網站感到緊張。 – 2013-07-12 15:03:53
我有類似的問題。你能否詳細說明你如何去做這件事? – FBP 2017-04-05 18:20:55