我在MYSQL中使用以下列
创建了一个表create table Students (
id varchar(32) not null,
name varchar(200),
key1 varchar(450),
key2 varchar(255),
key3 varchar(255),
key4 varchar(255)
)
现在,我已将此表的索引创建为
create index Students_key_inx on Students (key1(255));
现在,我还没有提到key1的唯一性。既然,我认为索引列应该具有唯一值,那么MYSQL会自动强制执行唯一性吗?意思是,我无法在key1
中插入Students
的重复值吗?
答案 0 :(得分:2)
创建索引不会强制实现唯一性。创建唯一索引会:
create unique index unq_students_key1 on Students (key1(255));
答案 1 :(得分:1)
尝试这样:
CREATE UNIQUE INDEX student_key1 ON Students (key1);
答案 2 :(得分:0)
定义(简化)
因此,这些是不同的概念,您必须明确告诉您是否需要唯一索引。另请注意,NULL值被视为不同的值。