我有一些记录需要存储在数据库表中,我希望根据name
字段区分一条记录和其他记录。
但是,由于名称字段的数据类型为varchar
,因此会影响性能,因为将varchar
数据相互比较是比较数字字段的耗时过程。
所以我希望每条记录都有一个唯一的数字字段(比如id
)。但是,如果我将id
作为主键,则多个记录可以包含相同的name
。
上述问题的解决方案是什么?
答案 0 :(得分:4)
您仍然可以在UNIQUE
字段上创建name
约束:
ALTER TABLE your_table ADD UNIQUE (name);
UNIQUE
约束与PRIMARY KEY
约束一样,可以保证您的列只包含唯一值。
请注意,每个表可以有多个UNIQUE
个约束,但只有一个PRIMARY KEY
约束。
答案 1 :(得分:0)
名称可以成为唯一索引。