Снова наткнулся на совсем-совсем невнятные ошибки MySQL. Всё больше убеждаюсь, что о людях при написании данной его части никто не думал.
ALTER TABLE `post` DROP FOREIGN KEY `FK_Post_UserID`
В результате получаем:
SQLSTATE[HY000]: General error: 1025 Error on rename of './mydb/post' to './mydb/#sql2-11a-1f2c' (errno: 152)
Очень помогло…
Оказывается, нормальую информацию, получить всё-таки можно. Правда, через одно место:
SHOW ENGINE INNODB STATUS
отдаст нам кучу всего, в том числе:
LATEST FOREIGN KEY ERROR ------------------------ 120418 16:58:22 Error IN dropping of a FOREIGN KEY CONSTRAINT of TABLE "mydb"."post", IN SQL command ALTER TABLE `post` DROP FOREIGN KEY `FK_Post_UserID` Cannot find a CONSTRAINT WITH the given id "FK_Post_UserID".
Вот это уже намного понятней. У нас просто нет FK с таким именем. Интересно, чем руководствовались разработчики MySQL, скрывая от конечного пользователя действительно важную для него информацию?