2013-07-02 60 views
4

我知道auto_increment自動爲每個插入表格的新行分配一個主鍵值。是否有某種默認值,您可以分配一個整數主鍵,每個新插入都會產生一個隨機數字?像DEFAULT_VALUE = FLOOR(RAND() * (1000000-1))?我知道這可能是一個非常平庸和愚蠢的問題,但我希望提前提供任何幫助!謝謝!mysql自動隨機默認整數值

+1

這樣做的原因通常是這樣的......「我們是一家文具公司,每當客戶從我們這裏購買一些東西時,我們都會創建一個增值編號的發票,不幸的是,這意味着我們的競爭對手可以看到好吧,我們每小時都會從我們那裏購買非常便宜的物品,我們怎麼能保護自己呢?「我在正確的軌道上嗎? – Strawberry

回答

4

爲什麼不只是使用UUID

或者,爲什麼不讓id做它的事情,AUTO_INCREMENT風格,並創建一個隨機生成的第二列,索引UNIQUE,所以它作爲次要的主要?

+0

我仍然在學習更多關於MySQL的知識。感謝您使用第二個主鍵的建議。我不知道它是如何被使用的。 –

+0

您通常在內部使用'id'來關聯數據,以及某種顯示鍵。這可能是一個slu,,一個UUID,一個隨機數,像'Bill#932'這樣的序列,或者你的應用程序需要的任何東西。 – tadman

+0

我確實找到了一種自動生成數字的方法,這樣我就不必在請求本身中生成UUID。我使用了觸發器功能 –