小编今天电脑出问题,重装回来之后,装好Navicat之后把备份好的数据库导入(当初也是用这个软件导出),结果竟然有些表报错,死活导入不进去。
没办法,百度之后,我一个一个的导入,结果发现表引擎是MyISAM都OK,表引擎是InnoDB都不行。无奈,我只好把所有的表引擎换成了MyISAM。虽然解决了,但是我再想很多时候项目里面会用到InnoDB表引擎,其作用最重要就是处理事务回滚,所以我现在的方法是治标不治本。
不甘心,然后,小编就单独建立了一个数据表做测试,单独建了个表,也设置成InnoDB,一保存就报错Unknown storage engine 'InnoDB'。
为此,我去百度下,终于让我找到了答案。(以下内容摘抄的)
找一下问题的原因:可能是MySQL没有安装或没有使用InnoDB引擎,可以通过SQL语句或者在dos命令查看引擎:
1、使用sql语句
在navicat或者其他显示mysql的工具中,输入“show engines”,运行sql语句。
结果如果是InnoDB| NO 说明未开启,如图:

2、使用dos命令
按照图中的操作执行,可以看到mysql的所有存储引擎。其中,myisam后面有一个default,说明现在默认的存储引擎是myisam。

将存储引擎改为InnoDB的方法:在my.ini中配置,将默认的存储引擎改为innodb即可”default-storage-engine=INNODB“。(注意:若查看引擎的时候,没有看到innodb,则在my.ini中查找“skip-innodb“,注释掉。注释方法就是在这句话的前面加上”#“。
最后记得每次修改完my.ini之后,要重启mysql服务。
修改后的结果:

因为小编是用的phpstudy 一番查找之后 找到
按照这种操作之后,我终于可以把项目中带'InnoDB'和'MyISAM'表引擎的数据表一起导入了。