varchar()主键还是int主键?

时间:2010-09-28 16:46:56

标签: mysql database-design primary-key

我的MySql主键有问题,这是我现在正在处理的项目!

我必须有一个单位名称(不是数字)作为我的数据库中的一个键,它是字母和数字的组合,我不能使用INT类型中的任何主键,它会像往常一样递增! / p>

什么更好?我应该坚持使用旧的INT,自动增量方式吗?

或者最好将VARCHAR用于主键?如果是这样,理想的数据类型是什么?

的问候, 兰加纳

3 个答案:

答案 0 :(得分:5)

您可以将主键保留为auto-inc整数列,然后添加另一个列,该列是一个带有UNIQUE约束的VARCHAR列。

答案 1 :(得分:3)

首选自动递增的整数主键。它毫无意义,因此它永远不会改变(并可能导致问题)。

答案 2 :(得分:2)

较短的列大小对于一般的键来说越好。因此,使用自动增量整数作为主键和名称的唯一索引。