Crear tabla falla con restricción de clave externa incorrectamente formada

Tema

MariaDB InnoDB Problema de clave extranjera

Quiero comenzar diciendo que soy nuevo en InnoDB y pasé todo el día leyendo publicaciones ayer. He intentado varias cosas en el camino para llegar a donde estoy ahora, así que me mangué o hay una salida de este bosque oscuro.

Tengo una tabla que es central para varias tablas en mi modelo de datos. Entonces algo en este 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;

Decidí limpiar algunas cláusulas DELETE / UPDATE en mis FK rápidamente este fin de semana ... Últimas palabras famosas ...

Un ejemplo de tabla relacionada está aquí

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

Se modificó el FK en la tabla "ATHING" para incluir ON DELETE SET NULL. Guardado esa modificación, todo parecía estar bien. Estaba usando HeidiSQL para realizar esto.

En pocas palabras, estaba revisando mi lista de mesas y baja y ¡he aquí que mi mesa de USUARIOS se HA IDO! A través de mucha lectura y esfuerzo pude limpiar las cosas, pero sentí que realmente las cosas estaban bien. Dejé todos los FK apuntando a la mesa de USUARIOS y dejé caer la mesa.

Ahora, cuando intento volver a crear la tabla USERS, recibo este error:

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

Lo que noté después de mi primer intento de hacer esto es que mientras pensaba que había descartado todos los FK, aún quedaban restos de claves por ahí, específicamente índices que admitían esas claves en algunas de las tablas. Al consultar las tablas INNODB_SYS_TABLES e INNODB_SYS_INDEXES, esos índices que pensé que se eliminaron todavía existen en estas tablas del sistema.

¿Hay alguna manera de avanzar más allá de esto? Siento que existe alguna información en algún lugar, ya sea en el sistema de archivos o en la base de datos en sí, que necesita actualizarse o eliminarse para poder avanzar ... ¿pensamientos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta