无法删除索引或重命名表 PHPmyadmin

Posted

技术标签:

【中文标题】无法删除索引或重命名表 PHPmyadmin【英文标题】:Cant remove index or rename table PHPmyadmin 【发布时间】:2013-03-14 06:03:59 【问题描述】:

我正在尝试使用 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 之外,还有什么方法可以做到这一点?我不允许删除索引的原因是因为索引名称本身有空格吗?

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

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

ALTER TABLE grade_student_module DROP INDEX `Student ID_3`

【讨论】:

感谢完美。会投票但没有代表:(。

以上是关于无法删除索引或重命名表 PHPmyadmin的主要内容,如果未能解决你的问题,请参考以下文章

您必须删除(或重命名)该容器才能重用该名称 [重复]

删除或重命名长名称文件的解决方法

phpmyadmin:从多个表创建的视图现在 id 字段不是唯一的,无法编辑,更新删除

MySQL索引分类创建删除

数据库表索引:普通索引唯一性索引全文索引多列索引隐藏索引删除索引

mysql学习笔记