2012-03-24 100 views
0

我是一個noob與MySQL和PHP,並需要一些幫助:)Mysql。我應該使用ID嗎?

我有一個名爲「match_tabel」與「id」作爲主鍵(auto_increment)。由於表現,我把id鑰匙放在裏面。但是,由於每次新比賽的id都會增加,因此id會在一段時間後變得很大。

匹配一旦完成,也會被刪除。

假設已經有100,000個匹配項全部完成(從數據庫中刪除),那麼當下一個匹配項創建時,它會得到id「100,001」,即使它是數據庫中唯一的一行。

我的問題是。我應該使用ID嗎? 感謝

編輯

對於每場比賽,有一個獨特的密鑰。當我找到一個匹配項時,我搜索那個唯一的密鑰...

+0

是----------- – 2012-03-24 08:39:13

+0

您究竟需要什麼幫助?你有什麼問題?你有什麼? – 2012-03-24 10:05:20

+3

是的,你應該使用id和是的,這是正常的行爲,MySQL不會重複通過發出'DELETE'語句來丟失數字。如果您將'id'指定爲'BIGINT',則不用擔心數字用完,否則將耗費數千年來耗盡數字。 – 2012-03-24 10:06:59

回答

2

是的,你總是使用一個ID(或其他名稱作爲主鍵,通常是自動遞增的)。否則,您無法引用特定的行,也無法關聯多個表中的數據。

+0

對於每場比賽,都有一個獨特的關鍵。當我得到一場比賽時,我尋找那個獨特的鑰匙...... – BlackMouse 2012-03-24 10:00:06

1

AUTO_INCREMENT主鍵優於其他某個唯一鍵;

一)一些其他的唯一密鑰將可能使用PHP,而不是在MySQL的產生,因此可能與已經存在的唯一關鍵潛在衝突(取決於如何可靠的生成值)的方法,並

b)mysql_insert_id()僅適用於AUTO_INCREMENT列。