MySQL:更改表以使用外键添加复合键

时间:2016-12-29 23:37:03

标签: mysql sql database-design

我有以下两个表

Table: User    
Columns: id, name, age

Table: Task
Columns:  id, task_name, user_id, friend_id

user_idUser表中的外键。

我需要编写一个查询来更改在compositeuser_id之间创建friend_id索引的表。

以下命令是否正确:

ALTER TABLE Task ADD CONSTRAINT compsite_key PRIMARY KEY (user_id, friend_id)

目标是确保user_idfriend_id记录永远不会重复。

2 个答案:

答案 0 :(得分:0)

ALTER TABLE Task ADD PRIMARY KEY (user_id, friend_id)

答案 1 :(得分:0)

使用create index

创建复合索引
create index idx_task_userid_friendid on task(user_id, friend_id);

您也可以使用create table / alter tablekeyindex关键字进行此操作。但这是创建索引的更典型方式。