如何删除复合主键

时间:2014-02-17 09:24:29

标签: mysql

我正在使用table friends_list我想删除其复合主键(friend_of_idfriends_id_is)并想要创建新的复合主键(friend_of_aidfriends_aid )。

删除主键我写了查询

ALTER TABLE friends_list  DROP PRIMARY KEY

但是这显示以下错误

#1025 - Error on rename of '.\xrcwrn_sms\#sql-14d4_e0' to '.\xrcwrn_sms\friends_list' (errno: 150)

我正在关注this post但是对于复合主键,这不起作用 我的表结构图如下

enter image description here

1 个答案:

答案 0 :(得分:1)

检查此表上的外键,例如使用下一个查询 -

SELECT
  *
FROM information_schema.REFERENTIAL_CONSTRAINTS
  WHERE CONSTRAINT_SCHEMA = 'db name' AND REFERENCED_TABLE_NAME = 'your table';

您需要重新创建所有这些外键:

  1. 删除外键
  2. 重新创建rpimary密钥
  3. 创建外键