我从一个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中,我应该使用什么查询来复制它。
在“强制并启用查询优化”行上出现语法错误。
请帮帮我。
1条答案
按热度按时间brgchamk1#
在mysql关于ALTERTABLE的文档中可以很容易地看到
enforced
,也不是enable query optimization
mysql支持子句。这个
enforced
db2中的属性只是指示是否强制使用外键。在mysql中,不能在外键级别设置这种行为。只能使用“外键检查服务器”设置在会话/全局基础上启用/禁用所有外键检查。您只需确保启用此设置即可复制强制子句。enable query optimization
子句指示db2使用外键约束来推断使用情况统计信息,这反过来又可以用来优化查询执行。mysql中没有等价的东西,但这不会影响外键的整体行为。