В случае, если у кого-то все еще есть проблемы с этим, я попробовал все решения выше (кроме SET FOREIGN_KEY_CHECKS), и ничего не работало. Проблема заключалась в том, что когда вы ссылаетесь на первую таблицу, некоторые базы данных чувствительны к регистру имен таблиц. Я думаю, что это странно, так как я никогда не видел этого раньше на MySQL, Oracle, и теперь это случилось со мной на MariaDB.
Например:
Создать таблицу, если она не существует CADASTRO_MAQUINAS (
Id VARCHAR (16),
Первичный ключ (Id)
);
Создать таблицу, если не существует INFOS (
Id_Maquina VARCHAR (16) НЕ NULL,
CONSTRAINT FK_infos_cadastro_maquinas Внешний ключ (Id_Maquina) ссылается на CADASTRO_MAQUINAS (Id)
);
Если я попытаюсь создать вторую таблицу, используя cadastro_maquinas (строчные буквы) вместо CADASTRO_MAQUINAS, я получу эту ошибку.