Пытаюсь создать таблицу, без всяких внешних ключей и т.п. Вот код:
CREATE TABLE `services` ( `service_id` INTEGER AUTO_INCREMENT, `name` VARCHAR(100), PRIMARY KEY(service_id) ) ENGINE = INNODB;
и ошибка: ERROR 1005 (HY000): Can't create table 'apparat.services' (errno: 150)
Началось это после того, как:
1. Многим таблицам посоздавал FKeys (все работало).
2. Поудалял/попереименовывал таблицы (все работало).
3. Попытался создать новый FK для одной таблицы и получил ошибку: мол не могу создать файл и прочее - типичную для случая несовпадения типов данных полей, движков таблицы, кодировок. Не мог понять почему - удалил все замешанные и подозреваемые в этом таблицы. Начал создавать новую таблицу тем кодом что привел выше. И вот на тебе!!! Такое впечатление будто где-то в БД хранится инфа о существовавших связях, индексах и еще чем-то. Создать с движком MyIsam получается, но потом изменить движок уже у созданной таблицы - нет!
Куда копать, что выкладывать ????
Причем при создании таблицы с другим названием - все проходит успешно!
Комментарий модератора:
Все возможные причины рассмотрены в статье:
Can't create table `имя таблицы` (errno: 150)
Отредактированно cmygeHm (07.06.2011 17:58:56)