文档中未明确提及(http://dev.mysql.com/doc/refman/6.0/en/drop-table.html)。我问,因为我刚刚在Rails项目中看到了一个奇怪的数据库迁移,开发人员在删除表之前删除了所有索引,这似乎没必要。
答案 0 :(得分:42)
是的,确实如此。
但是,如果您有外键约束(如RESTRICT)以确保与其他表的引用完整性,则您需要在删除或截断表之前删除这些键。
答案 1 :(得分:2)
是的,它会丢掉索引。如果基础表不存在,则没有理由保留索引。我怀疑向下迁移只是与一对一的向上迁移相反。
答案 2 :(得分:1)
没必要。但是,当表是外键关系的一部分时,可能会阻止您的DROP TABLE,而删除表会破坏依赖关系。