当外键已经存在时添加主键

Adi*_*lli 0 mysql sql sqlite mysql-workbench

我需要在“用户名”表上添加主键

我有3列:

userid int(10)
username char(20)
user char(50)
Run Code Online (Sandbox Code Playgroud)

和主键设置在“用户名”字段,我用它作为外键链接到另一个表。现在我还需要在'userid'字段上添加主键...所以我尝试了:

alter table `usernames` drop primary key, add primary key(userid,username);
Run Code Online (Sandbox Code Playgroud)

我得到一个错误的说法

ERROR 1553 (HY000): Cannot drop index 'PRIMARY":needed in a foreign key constraint 
Run Code Online (Sandbox Code Playgroud)

有什么可能的方法吗?

Raj*_*Raj 5

有:

  1. 删除FK约束
  2. 掉落PK约束
  3. 创建新的PK
  4. 在名称列上添加唯一约束
  5. 重新创建FK

拉吉