簡體   English   中英

刪除索引時出現MySQL錯誤(錯誤150)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM