我有一个表p_places,它有两列,它们都是引用父表的foriegn键:
mysql> create table p_places(
-> user_id int not null,
-> place_id int not null,
-> FOREIGN KEY(user_id) references people(user_id) ON DELETE CASCADE,
-> FOREIGN KEY(place_id) references places(place_id) ON DELETE CASCADE
-> )engine=innodb;
我正在尝试为两个列创建一个索引,因此不能有重复的行(可能有重复的foriegn键但是......只是不是行)。
我试过了:
alter table p_places add index(user_id+place_id no duplicate);
alter table p_places add unique index(user_id+place_id);
alter table p_places add unique index both_id(user_id+place_id);
但没有成功。我想尝试使用alter table命令进行学习,而不是创建表。
答案 0 :(得分:1)
你接近你想要的。
ALTER TABLE p_places ADD CONSTRAINT tb_unique UNIQUE(user_id, place_id)