唯一索引
UNIQUE
测试代码:
// 建表
create table Test (
id INT NOT NULL,
name VARCHAR(30) unique,
phoneNumber VARCHAR(20),
password VARCHAR(32),
primary key(id),
unique key pn (phoneNumber)
);
建表后添加/删除索引
CREATE UNIQUE INDEX pw on Test(password);
ALTER TABLE Test DROP INDEX pn;
// 测试建表方法的unique效果
insert into Test values(1, 'name', '123456', 'psw');
insert into Test values(2, 'name', '654321', 'psw2');
//失败
// 测试动态修改方法的unique效果
ALTER TABLE Test DROP INDEX name;
insert into Test values(2, 'name', '654321', 'psw2');
select * from Test;
insert into Test values(3, 'name', '654321', 'psw2');
//成功
// 测试动态修改方法的unique效果
select * from Test;
CREATE UNIQUE INDEX `psw` on Test(password);
insert into Test values(3, 'name', '233', 'psw2');
//失败
// 查询mysql执行按主键select时的表现
explain select * from Test where id=1;