MYSQL中的DB2 Query - 外键

问题描述 投票:-1回答:1

我在DB2数据库下面有这个ddl。

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中。

我在“强制执行并启用QUERY OPTIMIZATION”行时遇到语法错误。

请帮助我。

mysql db2 foreign-keys
1个回答
0
投票

正如您可以在MySQL的alter table文档中看到的那样,MySQL中不支持enforcedenable query optimization子句。

DB2中的enforced属性仅指示是否强制执行外键。在MySQL中,您无法在外键级别上设置此行为。您只能使用foreign_key_checks服务器设置在会话/全局基础上启用/禁用所有外键检查。您只需确保打开此设置即可复制enforced子句。

enable query optimization子句指示DB2使用外键约束来推断使用情况统计信息,这反过来可用于优化查询执行。 MySQL中没有任何等价物,但这不会影响外键的整体行为。

© www.soinside.com 2019 - 2024. All rights reserved.