[英]MySQL Error when dropping index (errno 150)
我有丟棄外鍵索引的問題,我總是得到同樣的錯誤
ALTER TABLE `comments` DROP INDEX `id_user`
哪個輸出
1025 - Error on rename of './postuj_cz1/#sql-d834_a0c704'
to './postuj_cz1/comments' (errno: 150)
另一個表上的id_user
是簡單的主鍵索引。
我使用的是MySQL 5.0.85版本
還有其他原因。 例如,我有一個涉及兩個獨立外鍵列的唯一索引。 在刪除唯一索引之前,我不得不刪除有問題的外鍵。 (顯然你可以在之后添加外鍵。)
INNODB:這可能就像刪除Index之前刪除Relation一樣簡單。
根據此鏈接 ,該錯誤與主鍵字段的定義有關。 該錯誤與外鍵索引無關。
檢查COMMENTS
表的主鍵,以確保它沒有UNSIGNED
關鍵字,而COMMENTS.id_user
外鍵具有UNSIGNED關鍵字。 此關鍵字導致問題 - 字段類型不一致。
要解決此問題,請將UNSIGNED
關鍵字添加到COMMENTS
表的主鍵定義中。 或者從外鍵定義中刪除UNSIGNED
關鍵字...
索引是'user'表中的外鍵,所以首先嘗試這個命令:
SHOW CREATE TABLE my_table
找到與外鍵索引對應的約束名稱,
然后,嘗試以下命令:
ALTER TABLE my_table DROP FOREIGN KEY FK_myconstraintcode
警告:如果您嘗試使用外鍵名稱刪除外鍵,則會出錯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.