2013-03-24 125 views
2

我正在嘗試使用phpmyadmin爲任務創建一個基本的大學數據庫大綱。在我的一個表格中,我命名了一個主鍵「Student ID」。現在,在進行查詢時,由於列名中的空格,因此當我插入列名稱學生ID時,出現錯誤,指出「未知列學生」。但phpmyadmin不會讓我重命名該列,甚至刪除它。它會在嘗試重命名或刪除時出現此錯誤 - 「#1025重命名錯誤...至... errno:150。」我已經將它作爲主鍵移除了,並且假設它不會讓我更改列,因爲我錯誤地放置了索引。現在它不會讓我使用DROP INDEX刪除索引。無法刪除索引或重命名錶PHPmyadmin

ALTER TABLE grade_student_module DROP INDEX Student ID_3 

這讓我在MySQL synthax 1064錯誤附近ID_3

,當我去到顯示從grade_student_module學生ID_3指數被列爲重點列下一個索引。

本質上,我試圖找到一種方法來從表中刪除所有索引和約束和鍵來刪除單個空間,以便我可以在表上執行簡單的查詢。除了DROP INDEX,還有什麼辦法可以做到這一點嗎?我不允許刪除索引的原因是索引名稱本身有空格嗎?

非常感謝。

+0

使用引號。 – HerrSerker 2013-03-24 19:59:35

回答

4

通常,您不應該在表,列或約束名稱中包含空格。但是當你這樣做時,你必須在反引號包圍的任何語句中引用它們。

ALTER TABLE grade_student_module DROP INDEX `Student ID_3` 
+0

謝謝工作完美。會upvote,但不hav代表:(。 – 2013-03-24 20:12:05

+0

沒問題,儘可能地接受,這就是感謝。 – Perception 2013-03-24 20:13:02