私は著者の名前をユニークにしようとしています。私がしようとした場合でも、複数のカラムが一意でない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:私はすべての3つの名前の部分を与える場合
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でもユニークにするには?