Я пытаюсь сделать имена уникальными для авторов. Но если я попытаюсь,MySQL Уникальный ключ для большего количества столбцов не работает
create table author(author_id int auto_increment primary key, firstname varchar(20), middlename varchar(20), lastname varchar(20)) auto_increment = 1001;
alter table author add unique(firstname, middlename, lastname);
Пример 1:
insert into author(firstname, middlename, lastname) values('Alice',null,null);
insert into author(firstname, middlename, lastname) values('Alice',null,null);
select * from author;
1001 | Alice | NULL | NULL
1002 | Alice | NULL | NULL
Если я даю все три части имени, то он работает отлично.
Пример 2:
insert into author(firstname,middlename,lastname) values('Alice','Bob','Charlie');
insert into author(firstname,middlename,lastname) values('Alice','Bob','Charlie');
>> Error...Duplicate
Почему имена с нулем не считается?
Как сделать его уникальным даже для примера 1?