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

标签 mysql sql sqlite mysql-workbench

我需要在表“usernames”上添加一个主键

我有 3 列:

userid int(10)
username char(20)
user char(50)

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

alter table `usernames` drop primary key, add primary key(userid,username);

我得到一个错误提示

ERROR 1553 (HY000): Cannot drop index 'PRIMARY":needed in a foreign key constraint 

有没有办法做到这一点??

最佳答案

有:

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

拉吉

关于mysql - 当外键已经存在时添加主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18634365/

相关文章:

c++ - 在 Linux 上静态链接库

android - 如何在 GreenDao 中使用 GROUP BY

php - 如何让 Mysql 查询(多连接)更快更高效

mysql - SQL选择所有匹配的

php - 使用 mySQL 和 PHP 填充 <select>

sql - 数据库表 : Quantity or redundancy

mysql测试并行添加和删除列

php - 具有多个ID的Mysql选择查询

mysql - mysql触发器怎么写

android - 无法将微调器选择的项目保存到数据库,它保存 android.sqlite.cursor@ 而不是字符串