2011-10-14 63 views
2

所以我注意到在腳本中我使用的是在我已成立於1728在大量數據庫中啓動MySQL數據庫id有什麼好處嗎?

啓動數據庫中的ID行是否有在大量的或其他任何啓動數據庫ID號的任何具體的好處然後1?

+0

我有一個客戶的要求,他們的電子商務訂單表的ID開始在一個很高的數字,所以客戶在接收「發票#3」時不會認爲他們是新手。在內部,如果一個ID從1或1000000開始就沒有區別 - 這只是一個數字。 –

回答

1

對某人來說這看起來有點酷。

profile.php?id=1728看起來比profile.php?id=1

但在你的情況下,它可能是SQL轉儲錯其中有AUTO_INCREMENT 1728

1

不,我知道的,雖然我已經看到了它作爲一個非常簡單的安全措施,該措施可防止用戶表(通常爲管理員/創建者)中的第一位用戶擁有用戶ID = 1。

+2

誰-1這並沒有捍衛它?似乎對我有效。 –

1

不,沒有任何好處。只要id是唯一的,那沒關係。有些開發人員更喜歡爲更高的行啓動id,因爲它看起來在url中看起來更好。例如,這個網址:

http://www.example.com/user/profile.php?id=142541 

看起來比:

http://www.example.com/user/profile.php?id=1 
0

我不知道任何真正的原因。也許人們不會猜測你的管理員用戶ID是1.

當使用自動遞增ID時,我已經看到表以非1的ID開始。即使插入失敗,每個嘗試插入都會增加。在你的情況下,表格可能會增加到1728,而腳本正在開發中,所以第一個「真實」記錄是1728.

0

我們只能猜測。這樣沒有技術好處。但可能會帶來一些好處。我可以想象它的目的是爲舊/先前的備份.sql轉儲或甚至默認的數據庫條目保留一些ID。

我偶爾會在像1000這樣的較大數字處啓動ID(如果我真的必須在UI中暴露數據庫內部編號),所有ID的4位數字。不是技術上的必要,但可能看起來更一致。

0

@Jake查普曼,其背後的原因是,如果一個人看到

profile.php?id=1profile.php?id=2 ...

所有這些需要程序員的關注,和棘手的程序員想,因爲他們知道玩些花樣黑客那麼可以做些什麼呢。

號喜歡

profile.php?id=1343profile.php?id=2543 ...

有些混亂,不採取attntion突然這是爲什麼。