56

文档中没有明确提及(http://dev.mysql.com/doc/refman/6.0/en/drop-table.html)。我之所以问,是因为我刚刚在 Rails 项目中看到了一个奇怪的数据库迁移,开发人员在删除表之前删除了所有索引,这似乎没有必要。

4

3 回答 3

54

是的,它确实。

但是,如果您有诸如 RESTRICT 之类的外键约束来确保与其他表的引用完整性,那么您需要在删除或截断表之前删除这些键。

于 2009-05-20T12:28:48.327 回答
5

是的,它会删除索引。如果基础表不存在,则没有理由保留索引。我怀疑向下迁移只是在一对一的基础上与向上迁移相反。

于 2009-05-20T12:28:44.067 回答
1

这是不必要的。但是,当表是外键关系的一部分并且删除表会破坏依赖关系时,您的 DROP TABLE 可能会被阻止。

于 2009-05-20T12:28:50.400 回答