mysql8 mysql5.5_Mysql 8.0版本导出的sql文件在Mysql 5.5中运行出错

将Mysql 8.0版本导出的sql文件在Mysql 5.5中运行时遇到1064错误,主要由于timestamp语法不兼容。解决方法建议直接升级到Mysql 8.0,因为两个版本间差异较大,手动修改sql以适应5.5版本的工作量过大。同时,文章介绍了如何查看mysql版本和sql文件的差异。
摘要由CSDN通过智能技术生成

出现错误

[err] 1064 - you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near '(0) null default current_timestamp(0) on update current_timestamp(0),

`descri' at line 8

c4601efb94a556e1c5ff88cf8b2c6ac2.png

解决思路

关于timestamp错误可以参考:

即使修改了mysql的model,依旧有很多错误:

25163a9003033fe9413a1da2bcb5d043.png

mysql 8.0和mysql 5.7还是有很大的不同的

解决办法:更换mysql 8.0吧,毕竟想要在mysql5.5上运行要改的太多太多

发现过程

1. sql文件中开头注释的含义

navicat premium data transfer

source server : link1 (源服务器)

source server type : mysql (源服务器类型)

source server version : 80018 (源服务器版本)

source host : 127.0.0.1:3306 (源主机)

source schema : lanyue_v_3 (源数据库名称)

target server type : mysql (目标服务器类型)

target server version : 80018 (目标服务器版本)

file encoding : 65001 (支持编码)

date: 06/11/2019 16:09:17 (日期)

使用注释,当在其他数据库中会被当做注释处理,而在mysql中,会执行这些注释(mysql通过注释的方式对sql进行拓展)

cf68e489fa76487e1f76517851134a0e.png

2. 如何查看自己的mysql版本:

第一步:进入cmd命令窗口

第二步:进入mysql的bin目录下

第三步:输入mysql -hlocalhost -uroot -proot

-u后的root为用户名、-p后的root为密码、-h为服务器地址

第四步:输入status;

1332e3acef1026038c77fe69598a6c49.png

3. 对比mysql5.5 和 mysql 8.0sql文件

发现sql语句也多了,明显 5.5 和 8.0不兼容

b3a334221a9ca393e494ba829360e93a.png

3067776847f4e728470236b936f1ad5a.png

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值