近日的工作中,涉及到保存某一步的操作流程数据,于是同事新建了json类型的字段,存储操作详情。但是我这里的本地环境却不支持该类型操作,本地环境是使用的旧版phpstudy,php版本为5.5,mysql倒是新装的5.7,项目框架是旧版tp3.2.3,这里简单记录遇到的问题和解决的方法。以加深印象。
1.在navicat中看不到该json字段,查出来是空白,后来才知道旧版navicat不支持该类型,于是换为12版本,能够正常显示数据。
2.然后php查询该表时,报错sql语句错误,由于同事使用5.6版本可以正常查询,所以断定为php版本太低,但是老版本phpstudy不能直接切换,于是下载新版phpstudy,迁移项目和数据库,但是备份为sql文件,再导出实在太慢,于是找到了快速迁移数据的办法:在集成环境的mysql文件夹里,有mysql/data文件夹,如下图操作即可
3.数据库搞定后,php版本也升级到了5.6.9版本,可是让人气馁的是,依然报同样的错,又和同事确认之后,发现他使用的是5.6.35版本 但是这个phpstudy又不支持,再高就是7.0了,这时候tp3.2是不支持php7.0的,可怜。后来结合测试服务器和生产环境的版本,我们把json类型改为text类型,查询出来后转换一下,效果相同,这件事最后被解决。