2014-02-17 109 views
0

我有表friends_list我想放弃其复合主键(friend_of_id,friends_id_is),并且想要创建一个新的复合主键(friend_of_aid,friends_aid)。如何删除复合主键

去除主键我写的查询

ALTER TABLE friends_list DROP PRIMARY KEY 

,但这正显示出,但对于复合主键,这不工作 我的表结构PIC以下错误

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

我下面this post如下

enter image description here

在此表

回答

0

检查外键,例如使用一个查询 -

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

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

  1. 删除外键(一个或多个)
  2. 重新创建rpimary关键
  3. 创建外键
+0

我试过查询显示错误#1064 - 你有一个错误或者在你的SQL语法中;请检查与您的MySQL服务器版本相对应的手册,以便在第4行'REFERENCED_TABLE_NAME ='friends_list' LIMIT 0,30'附近使用正确的语法。 – xrcwrn

+0

在条件之间添加AND关键字。 – Devart