2014-09-02 54 views
8

我有一段時間建立的數據庫。數據庫中的每個表都是InnoDb。有幾個表具有外鍵約束,我將它們設置爲On Delete = Cascade。當我使用早期版本的phpmyadmin時,處理這些問題非常簡單:我只需轉到表格的Structure選項卡,單擊Relation View鏈接,只要我在正確的列上設置了正確的索引,我可以設置外鍵,因爲我認爲合適。Phpmyadmin版本4:關係視圖有時不顯示外鍵約束

自升級到版本4以來,它變成了一場噩夢。對於一些表格,我去關係視圖,一切都很好。但對於其他人 - 即使他們已經設置了外鍵約束 - 我看不到任何與他們合作的選項。更糟糕的是,我甚至嘗試刪除索引並重新添加索引,但只給出以下錯誤:Cannot drop index [index_name]: needed in a foreign key constraint.所以除非我錯了,約束在那裏,但phpmyadmin拒絕顯示它對我來說。

有什麼我必須做的,讓他們再次出現?至少可以說這是非常令人沮喪的:在現在之前工作得很好的東西並不要感謝升級。

+0

我剛剛在information_schema表中檢查了表KEY_COLUMN_USAGE。它證實存在外鍵約束。我想改變這一點,但同樣,phpmyadmin不會顯示我的限制。這真的讓我想降級到舊版本...... – blainarmstrong 2014-09-02 06:14:56

回答

15

好吧,在玩了一下表格之後,我想清楚發生了什麼事情。外鍵約束選項不顯示的唯一時間是表名包含大寫字母。非常令人沮喪地說至少。

+0

這是過去幾周對我來說非常沮喪的原因。我希望谷歌早就把我引向了這個領域,而不是其他更爲標準的問題來解決phpmyadmin中的問題。 – user2979044 2014-10-08 08:36:27

+0

是的,我回來了,改變了所有的駱駝表格來強調名字。 – blainarmstrong 2014-10-08 13:14:23

+2

不行!我們失去了這麼多時間尋找這樣一個微小的細節是如此令人沮喪。最糟糕的是phpmyadmin對此一無所知! – unmultimedio 2014-12-14 03:49:56