如何永久禁止外键检查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何永久禁止外键检查相关的知识,希望对你有一定的参考价值。

我必须和一个老牌程序员合作。很久以前 他建立了MySQL 数据库。在创建时,他用他的主语言作为命名表、列等的语言。

现在我想为这个数据库建立一个关系图,我需要它让Prisma找出表之间的关系,因此 我想添加外键, 但我不能轻易添加,因为他确实违反了这些规定.

我想最简单的办法就是禁用外键检查。SET foreign_key_checks = 0;但这只持续了一节课。有什么办法解决这个问题吗?


我可以做一些事情 SET foreign_key_checks = 0;但对于每个连接的用户来说,也是DB重启后的理想状态?

答案

https:/dev.mysql.comdocrefman8.0enset-variable.html

只对当前会话进行设置,即使同一用户在下次重新连接时也不会有此设置。

SET [SESSION] key = value (SESSION 是默认的,因此是可选的)


将其设置为所有用户,直到下次重启mysql服务器为止。

SET GLOBAL key = value


和全局一样,但也会在重启后应用。事实上,这将改变MySQL服务器的配置文件。

SET PERSIST key = value (PERSIST 只在v8之后才有)

还有 PERSIST_ONLY 只有在重新启动后才会应用该效果。

以上是关于如何永久禁止外键检查的主要内容,如果未能解决你的问题,请参考以下文章

如何检查用户是不是被禁止?

如何在删除限制上检查外键 [重复]

火狐浏览器怎么设置永久不更新

如何检查用户是否允许或禁止Facebook身份验证 - Firebase中的电子邮件

禁止级联删除的外键约束

启用永久链接后,Wordpress 在 wamp apache 上抛出 403 禁止错误?