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

3

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

但是由于name字段的数据类型为varchar,所以与比较数字字段相比,比较varchar数据会影响性能,因为这是一个耗时的过程。

因此,我想让每个记录都有一个唯一的数字字段(例如id)。但如果将id设为主键,则可能会有多条记录含有相同的name

如何解决以上问题?

2个回答

4

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

ALTER TABLE your_table ADD UNIQUE (name);
UNIQUE约束与PRIMARY KEY约束类似,可以保证列中只包含唯一的值。需要注意的是,每个表可以有多个UNIQUE约束,但只能有一个PRIMARY KEY约束。

请问您能否查看以下问题:http://stackoverflow.com/questions/2301691/what-datatype-to-use-for-a-field-that-can-contain-a-value-from-pre-defined-values - Amit

0

名称可以被设置为唯一索引。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接