2012-03-24 52 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列。