0

我有一个表 p_places 有两列都是引用父表的外键:

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;

我正在尝试为两列创建索引,因此不能有重复的行(但是可以有重复的外键......只是没有行)。

我试过:

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 命令来完成此操作,以用于学习目的,而不是创建表。

4

1 回答 1

1

你已经接近你想要的了。

ALTER TABLE p_places ADD CONSTRAINT tb_unique UNIQUE(user_id, place_id)
于 2013-04-05T03:00:35.483 回答