2

我正在尝试使用 phpmyadmin 为作业创建一个基本的大学数据库大纲。在我的一张表中,我将主键命名为“学生 ID”。现在在进行查询时出现错误,当我插入列名学生 ID 时显示“未知列学生”,因为列名中有空格。但是 phpmyadmin 不会让我重命名该列甚至删除它。尝试重命名或删除它时会出现此错误 - “#1025 error of rename of ... to ... errno: 150.” 我已将它作为主键删除,并假设它不会让我更改列,因为我错误地放置了索引。现在它不会让我使用 DROP INDEX 删除索引。

ALTER TABLE grade_student_module DROP INDEX Student ID_3

这给了我在 ID_3 附近的 mysql synthax 中的 1064 错误

当我进入显示来自grade_student_module 的索引时,学生ID_3 被列为键列下的索引。

本质上,我试图找到一种方法从表中删除所有索引和约束以及键以删除单个空格,以便我可以对表执行简单查询。除了不工作的 DROP INDEX 之外,还有什么方法可以做到这一点?我不允许删除索引的原因是因为索引名称本身有空格吗?

非常感谢帮助。

4

1 回答 1

4

通常,您不应在表、列或约束名称中包含空格。但是当你这样做时,你必须在任何被反引号包围的语句中引用它们。

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