A tabela Criar falha com a restrição de chave estrangeira incorretamente formada

Tema

Emissão de chave estrangeira MariaDB InnoDB

Deseja começar dizendo que eu sou novo no InnoDB e passei o dia inteiro lendo postagens ontem Eu tentei várias coisas ao longo do caminho para me levar para onde estou agora, assim como eu sou manejado ou existe uma saída para essa floresta escura.

Eu tenho uma tabela que é central para várias tabelas no meu modelo de dados. Então, algo nesse sentido:

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;

Decidi limpar rapidamente algumas cláusulas DELETE / UPDATE nos meus FKs neste fim de semana ... Famous Last Words ...

Um exemplo de tabela relacionado está aqui

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;
Problema

Modificado o FK na tabela "ATHING" para incluir ON DELETE SET NULL. Salvo essa modificação, tudo parecia ok. Eu estava usando o HeidiSQL para fazer isso.

Para encurtar a história, eu estava vasculhando minha lista de mesas e baixa e eis que minha mesa de USUÁRIOS se foi! Através de muita leitura e esforço, eu consegui arrumar as coisas, mas tive a certeza de que as coisas estavam boas. Larguei todos os FKs apontando para a mesa USERS e larguei a mesa.

Agora, quando tento recriar a tabela USERS, recebo este erro:

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

O que eu notei após minha primeira tentativa de fazer isso foi que, quando pensei que tinha eliminado todos os FKs, havia restos de chaves ainda por aí, especificamente índices que suportavam essas chaves em algumas das tabelas. Ao consultar as tabelas INNODB_SYS_TABLES e INNODB_SYS_INDEXES, esses índices que eu pensei que foram removidos ainda existem nessas tabelas do sistema.

Existe uma maneira de ir além disso, sinto que existe alguma informação em algum lugar, seja no sistema de arquivos ou no próprio banco de dados, que precisa ser atualizado ou removido para que eu possa avançar ... pensamentos?

questionAnswers(1)

yourAnswerToTheQuestion