mysql创建的外键无法保存的原因以及处理办法

 更新时间:2022年09月27日 09:35:59   作者:GroovRain  
这篇文章主要介绍了mysql创建的外键无法保存的原因以及处理办法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

为mysql表内的字段创建外键,并关联几种更新或者删除时的动作。

那以下就向大家介绍下mysql创建的外键无法保存的原因以及处理方法

无报错,但是创建的外键都消失了,只能在索引找到之前创建的相关外键

原因

mysql引擎的原因,mysql主要使用两种引擎:myisam以及innodb(两者区别大家可以去看下我别的文章:php面试重点mysql存储引擎innodb和myisam的区别),phpstudy默认使用的myisam引擎,在不作任何改变的情况下直接建表,往往建立的是就是以myisam引擎为基础的,而myisam区别于innodb的一个明显不同是myisam不能创建外键,因此创建外键不能成功。

解决方法

首先判断是否是这个问题引起的不能创建外键:

如果是myisam引起的问题的话:

myisam引擎的表格是可以直接修改成innodb引擎的:

首先判断mysql的my.ini是否有打开innodb。(如果没有的话,在修改引擎那里,是没有innodb选项的)

这里以phpstudy为实例(不同的mysql软件都是修改my.ini文件)

进入之后显示的是my,ini文件,然后按照绿色字体的提示修改即可。

(右键需要修改的表格,选择“设计表“,然后做如下操作)

注意:

一个数据库要统一使用的引擎,如果某个表修改了引擎,那其他的也要跟着修改,预防报错,然后在修改的同时,要注意编码格式,要保持表编码的统一(不然在后面创建外键的时候会报错),

如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL语句中的主键和外键使用说明

    MySQL语句中的主键和外键使用说明

    本文主要介绍了简述MySQL主键和外键使用及说明,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-04-04
  • MySQL中的流式查询及游标查询方式

    MySQL中的流式查询及游标查询方式

    这篇文章主要介绍了MySQL中的流式查询及游标查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL8.0中的降序索引

    MySQL8.0中的降序索引

    这篇文章主要介绍了MySQL8.0中的降序索引的相关知识,帮助大家更好的理解和使用MySQL8.0的新特性,感兴趣的朋友可以了解下
    2020-10-10
  • 微信昵称带符号导致插入MySQL数据库时出错的解决方案

    微信昵称带符号导致插入MySQL数据库时出错的解决方案

    Mysql的utf8编码最多3个字节,而Emoji表情或者某些特殊字符是4个字节,所以会导致带有表情的昵称插入数据库时出错,下面给大家分享下解决方案,需要的朋友参考下吧
    2016-12-12
  • mysql递归函数with recursive的用法举例

    mysql递归函数with recursive的用法举例

    在实际开发的过程中,我们会遇到一些数据是层级关系的、要展示数据子父级关系的时候,下面这篇文章主要给大家介绍了关于mysql递归函数with recursive的用法举例,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • mysql如何获取时间整点

    mysql如何获取时间整点

    这篇文章主要介绍了mysql如何获取时间整点问题,具有很好的的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • MySql常用查询命令操作大全

    MySql常用查询命令操作大全

    本文给大家收集整理了MySql常用查询命令操作大全,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-11-11
  • MYSQL开发性能研究之批量插入数据的优化方法

    MYSQL开发性能研究之批量插入数据的优化方法

    在网上也看到过另外的几种方法,比如说预处理SQL,比如说批量提交。那么这些方法的性能到底如何?本文就会对这些方法做一个比较
    2017-07-07
  • MYSQL中varchar和TEXT的相关问题详析

    MYSQL中varchar和TEXT的相关问题详析

    varchar 和 text 是 MySQL 字符存储争议比较多的领域,下面这篇文章主要给大家介绍了关于MYSQL中varchar和TEXT,文中介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 解决MySQL报错:You can‘t specify target table ‘region‘ for update in FROM clause

    解决MySQL报错:You can‘t specify target table ‘region‘ for 

    这篇文章主要给大家介绍了关于MySQL报错:You can‘t specify target table ‘region‘ for update in FROM clause的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02

最新评论