2

phpmyadminを使用して、課題の基本的な大学データベースのアウトラインを作成しようとしています。私のテーブルの1つで、主キーに「学生ID」という名前を付けました。これで、クエリを実行すると、列名にスペースがあるため、列名StudentIDを挿入すると「unknowcolumnStudent」というエラーが表示されます。しかし、phpmyadminでは、列の名前を変更したり、削除したりすることはできません。名前を変更したり削除したりしようとすると、このエラーが発生します-「...から... errno:150への名前変更の#1025エラー」。主キーとして削除しましたが、インデックスを誤って配置したため、列を変更できないと想定しています。そして今、DROPINDEXを使用してインデックスを削除することはできません。

ALTER TABLE grade_student_module DROP INDEX Student ID_3

これにより、ID_3の近くのmysqlsynthaxで1064エラーが発生します

grade_student_moduleからインデックスを表示するために行ったとき、学生ID_3がキー列の下にインデックスとしてリストされていました。

基本的に、テーブルからすべてのインデックス、制約、およびキーを削除して1つのスペースを削除し、テーブルに対して簡単なクエリを実行できるようにする方法を見つけようとしています。動作していないDROPINDEX以外にこれを行う方法はありますか?インデックス名自体にスペースがあるためにインデックスを削除できない理由はありますか?

よろしくお願いします。

4

1 に答える 1

4

通常、テーブル、列、または制約の名前にスペースを含めないでください。しかし、そうするときは、バッククォートで囲まれたステートメントでそれらを参照する必要があります。

ALTER TABLE grade_student_module DROP INDEX `Student ID_3`
于 2013-03-24T19:59:59.803 に答える