Mysql的。我应该使用id吗?

时间:2012-03-24 08:37:34

标签: php mysql

我是一个使用mysql和php的菜鸟,需要一些帮助:)

我有一个名为“match_tabel”的表,其中“id”作为主键(auto_increment)。因为性能,我把id键放在那里。但是,由于每次新匹配都会增加id,因此id会在一段时间后变得非常大。

匹配在完成后也会被删除。

假设已经完成了100,000次匹配(从数据库中删除),下一次匹配将在创建时获得ID“100,001”,即使它是数据库中唯一的行。

我的问题是。我应该使用id吗? 感谢

修改

对于每场比赛,都有一个唯一的钥匙。当我得到一个匹配时,我会搜索那个唯一的密钥...

2 个答案:

答案 0 :(得分:2)

是的,您始终使用ID(或主键的其他名称,通常自动递增)。否则,您无法引用特定行,也无法关联多个表中的数据。

答案 1 :(得分:1)

AUTO_INCREMENT主键优于其他一些唯一键;

a)其他一些唯一密钥可能是使用PHP而不是MySQL内部生成的,因此可能与已存在的唯一密钥冲突(取决于生成该值的方法的可靠性),以及

b)mysql_insert_id()仅适用于AUTO_INCREMENT列。