Para futuros buscadores, descubrí que obtengo este error cuando uso una combinación de MySQL Workbench y phpMyAdmin:si 'copias SQL' de la lista de tablas, antepone el nombre del esquema a los nombres de las tablas en la declaración de creación (y en el comandos de clave foránea que pueden ser parte de él).
La eliminación cuidadosa del nombre del esquema solucionó este problema para mí.
Por ejemplo:
CREATE TABLE IF NOT EXISTS `schema`.`table1` (
...blah blah blah...
CONSTRAINT `fk_user_id`
FOREIGN KEY (`user_id` )
REFERENCES `schema`.`table1` (`id` )
...blah blah blah...
debe cambiarse a:
CREATE TABLE IF NOT EXISTS `table1` (
...blah blah blah...
CONSTRAINT `fk_user_id`
FOREIGN KEY (`user_id` )
REFERENCES `table1` (`id` )
...blah blah blah...