Para futuros pesquisadores, descobri que recebo este erro ao usar uma combinação de MySQL Workbench e phpMyAdmin:se você 'copiar SQL' da lista de tabelas, ele precede o nome do esquema nos nomes das tabelas na instrução create (e no comandos de chave estrangeira que podem fazer parte dela).
A remoção cuidadosa do nome do esquema resolveu esse problema para mim.
Por exemplo:
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...
deve ser alterado para:
CREATE TABLE IF NOT EXISTS `table1` (
...blah blah blah...
CONSTRAINT `fk_user_id`
FOREIGN KEY (`user_id` )
REFERENCES `table1` (`id` )
...blah blah blah...