Запрос DB2 в MYSQL - внешний ключ - PullRequest
0 голосов
/ 26 июня 2018

У меня есть это ниже ddl из базы данных DB2.

ALTER TABLE "DBName"."TableName" 
        ADD CONSTRAINT "FRNKEYAPPLICATIONID" FOREIGN KEY
                ("APPLICATION_ID")
        REFERENCES "DBName"."TableName"
                ("APPLICATION_ID")
        ON DELETE NO ACTION
        ON UPDATE NO ACTION
        ENFORCED
        ENABLE QUERY OPTIMIZATION;

Мы мигрируем с DB2 на MYSQL.

Какой запрос я должен использовать для репликации этого в MYSQL 5.7.11.

Получаю синтаксическую ошибку в строке «Принудительно и включить ОПТИМИЗАЦИЮ ЗАПРОСА».

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 26 июня 2018

Как вы можете легко увидеть в документации MySQL для alter table , ни предложения enforced, ни enable query optimization не поддерживаются в MySQL.

Атрибут enforced в DB2 просто указывает, применяется ли внешний ключ. В MySQL вы не можете установить это поведение на уровне внешнего ключа. Вы можете включить / отключить все проверки внешнего ключа на сеансовой / глобальной основе, используя параметр сервера foreign_key_checks . Вам просто нужно убедиться, что этот параметр включен для репликации принудительного предложения.

Предложение

enable query optimization предписывает DB2 использовать ограничение внешнего ключа для вывода статистики использования, которая, в свою очередь, может использоваться для оптимизации выполнения запроса. В MySQL нет ничего эквивалентного, но это не повлияет на общее поведение внешнего ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...