可能重複:
Generating UNIQUE Random Numbers within a range - PHP創建唯一隨機碼 - PHP/MySQL的
我要在我的數據庫中的每個 「公司」 創造獨特的代碼。
我認爲這是可能的唯一方法是與rand()
創建一個隨機數,然後檢查該數字是否存在於數據庫中的「公司」,如果它重新創建。
我的問題是:沒有更好的方法來做到這一點 - 一種更有效的方法。就好像我正在創建10 000個代碼一樣,數據庫中已經有500 000個代碼,它將逐步變得越來越慢。
任何想法或提示可能是更好的方式來做到這一點?
編輯:
對不起,也許我可以更好地解釋。這些代碼不會同時生成,只要每天/每月/每年創建一次。
而且,我需要能夠定義例如,字母數字小的碼或數只
請參閱http://stackoverflow.com/questions/5612656/generating-unique-random-numbers-within-a-range-php希望這將你 – Roopendra
是否必須代碼?你能在mysql中使用AUTO_INCREMENT嗎? 如果不是,你可以嘗試一個具有足夠多的數字的隨機數(即那麼大,以至於它會花費很長時間纔會降低系統的速度) 第三種情況是將隨機數與隨機挑選的角色爲更多的可能性和更少的機會讓系統變慢。 –
這不是一個獨特的。另一個問題是關於只生成隨機NUMBERS。兩種答案都非常不同。 –