Сбой при создании таблицы с неверно сформированным ограничением внешнего ключа

Тема

MariaDB InnoDB Выпуск внешнего ключа

Хочу начать с того, что я новичок в InnoDB и вчера весь день читал посты. Я пробовал несколько вещей, чтобы найти себя там, где я сейчас нахожусь, поэтому я нахожусь в поисках выхода из этого темного леса.

У меня есть таблица, которая занимает центральное место в ряде таблиц в моей модели данных. Итак, что-то вроде этого:

create table users (id int not null auto_increment
, username varchar(255) NOT NULL
, password varchar(255) NOT NULL
, active int NOT NULL
, PRIMARY KEY (id))
ENGINE=InnoDB COLLATE=utf8_unicode_ci;

Решил быстро очистить некоторые пункты DELETE / UPDATE на моих FK в эти выходные ... Famous Last Words ...

Пример связанной таблицы здесь

create table athing (id int not null auto_increment
, name varchar(255) not null
, status varchar(255) not null
, created_by_user_id int 
, PRIMARY KEY (id)
, CONSTRAINT athing_fk1 FOREIGN KEY (created_by_user_id) REFERENCES users (id)
) ENGINE=InnoDB COLLATE=utf8_unicode_ci;
проблема

Изменен FK в таблице «ATHING», чтобы включить ON DELETE SET NULL. Сохранил эту модификацию, все казалось нормально. Я использовал HeidiSQL для этого.

Короче говоря, я троллил по моему списку столов и низко, и вот мой стол ПОЛЬЗОВАТЕЛЕЙ Ушел! Благодаря большому количеству чтения и усилий я смог привести вещи в порядок, но почувствовал, что все действительно хорошо, я сбросил все ФК, указывающие на стол ПОЛЬЗОВАТЕЛЕЙ, и бросил стол.

Теперь, когда я пытаюсь воссоздать таблицу USERS, я получаю эту ошибку:

ERROR 1005 (HY000): Can't create table `sprintdb`.`system_users` (errno: 150 "Foreign key constraint is incorrectly formed")

Что я заметил после моей первой попытки сделать это, так это то, что я думал, что отбросил все FK, там были остатки ключей, в частности индексы, которые поддерживали эти ключи в некоторых таблицах. При запросе таблиц INNODB_SYS_TABLES и INNODB_SYS_INDEXES, что те индексы, которые, как я думал, были удалены, все еще существуют в этих системных таблицах.

Есть ли способ выйти за пределы этого, я чувствую, что где-то есть какая-то часть информации, будь то в файловой системе или в самой базе данных, которую нужно обновить или удалить, чтобы я мог двигаться вперед ... мысли?

Ответы на вопрос(1)

Ваш ответ на вопрос