Does dropping a table in MySQL also drop the index

2019-01-17 19:05发布

It's not explicitly mentioned in the documentation (http://dev.mysql.com/doc/refman/6.0/en/drop-table.html). I ask because I just saw a curious database migration in a Rails project where the developer was removing all the indexes before dropping the table, and that seemed unnecessary.

3条回答
太酷不给撩
2楼-- · 2019-01-17 19:34

Yes, it does.

However, if you have foreign key constraints such as RESTRICT that ensure referential integrity with other tables, you'll want to drop those keys prior to dropping or truncating a table.

查看更多
来,给爷笑一个
3楼-- · 2019-01-17 19:48

Yes it would drop the index. There's no reason to keep the index if the underlying table isn't there. I suspect that the downward migration is just doing the opposite of the upward migration on a one-to-one basis.

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2019-01-17 19:56

It is unneccessary. Your DROP TABLE might however be prevented when the table is part of foreign key relationships and dropping your table would break the dependencies.

查看更多
登录 后发表回答