mysql​升级过程中的mysql Cannot add foreign key constraint错误怎么解决


本篇内容介绍了“mysql升级过程中的mysql Cannot add foreign key constraint错误怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!升级过程中如果遇到mysql Cannot add foreign key constraint的错误该怎么处理
其中:
mlflow 从1.4.0升级到1.11.0
mysql版本 5.7.21-log
遇到如下问题:我们直接把以上的CREATE TABLE registered_model_tags 语句复制到mysql的客户端执行,发现也是Cannot add foreign key constraint错误,
继续执行SHOW ENGINE INNODB STATUS 截取Status字段中一部分:可以看到是建立registered_model_tags 外键限制:字段的类型必须一致,可是发现字段类型也是一样的,
重点: mysql字段字符集和校验集也必须要一致原来是我创建数据库的时候选择的数据集是utf8,校验集是utf8_bin,而看看我们数据库中表registered_models的DDL:可是表registered_models数据集也是utf8,为啥还会出问题呢,这个时候我们就得补充几个知识点了:我看看在mysql 5.7.21中uft8默认的COLLATE 是什么, 在mysql客户端执行 show collation;
可以看到默认的是utf8_general_ci
所以registered_models表中 CHARSET 为utf8,COLLATE 为utf8_general_ci
而registered_model_tags中没有指定CHARSET和COLLATE,所以继承自数据库的CHARSET和COLLATE,分别为utf8和 香港云主机utf8_bin所以就会出现以上的Cannot add foreign key constraint 问题把数据库的COLLATE改成utf8_general_ci就能解决“mysql升级过程中的mysql Cannot add foreign key constraint错误怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!

相关推荐: C++中怎么使用default

本篇内容介绍了“C++中怎么使用default”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ES.79:使用default处理一般caseCode clarit…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/03 10:49
下一篇 09/03 10:50

相关推荐