如何在数据库表中区分行?

时间:2010-02-20 09:15:54

标签: mysql sql-server database

我有一些记录需要存储在数据库表中,我希望根据name字段区分一条记录和其他记录。

但是,由于名称字段的数据类型为varchar,因此会影响性能,因为将varchar数据相互比较是比较数字字段的耗时过程。

所以我希望每条记录都有一个唯一的数字字段(比如id)。但是,如果我将id作为主键,则多个记录可以包含相同的name

上述问题的解决方案是什么?

2 个答案:

答案 0 :(得分:4)

您仍然可以在UNIQUE字段上创建name约束:

ALTER TABLE your_table ADD UNIQUE (name);

UNIQUE约束与PRIMARY KEY约束一样,可以保证您的列只包含唯一值。

请注意,每个表可以有多个UNIQUE个约束,但只有一个PRIMARY KEY约束。

答案 1 :(得分:0)

名称可以成为唯一索引。