我是一个使用mysql和php的菜鸟,需要一些帮助:)
我有一个名为“match_tabel”的表,其中“id”作为主键(auto_increment)。因为性能,我把id键放在那里。但是,由于每次新匹配都会增加id,因此id会在一段时间后变得非常大。
匹配在完成后也会被删除。
假设已经完成了100,000次匹配(从数据库中删除),下一次匹配将在创建时获得ID“100,001”,即使它是数据库中唯一的行。
我的问题是。我应该使用id吗? 感谢
修改
对于每场比赛,都有一个唯一的钥匙。当我得到一个匹配时,我会搜索那个唯一的密钥...
答案 0 :(得分:2)
是的,您始终使用ID(或主键的其他名称,通常自动递增)。否则,您无法引用特定行,也无法关联多个表中的数据。
答案 1 :(得分:1)
AUTO_INCREMENT主键优于其他一些唯一键;
a)其他一些唯一密钥可能是使用PHP而不是MySQL内部生成的,因此可能与已存在的唯一密钥冲突(取决于生成该值的方法的可靠性),以及
b)mysql_insert_id()仅适用于AUTO_INCREMENT列。