Mysql 8.0版本導出的sql文件在Mysql 5.5中運行出錯

出現錯誤

[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
html

解決思路

關於timestamp錯誤能夠參考:http://www.javashuo.com/article/p-bdrtmhul-bg.htmlmysql

即便修改了MySQL的model,依舊有不少錯誤:sql

Mysql 8.0和Mysql 5.7仍是有很大的不一樣的數據庫

詳細的能夠參考:http://www.javashuo.com/article/p-vktswqvn-ba.html服務器

解決辦法:更換mysql 8.0吧,畢竟想要在MySQL5.5上運行要改的太多太多編碼

發現過程

1. sql文件中開頭註釋的含義.net

Navicat Premium Data Transfer3d

Source Server : Link1 (源服務器)code

Source Server Type : MySQL (源服務器類型)server

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進行拓展)

2. 如何查看本身的MySQL版本:

  • 第一步:進入cmd命令窗口

  • 第二步:進入Mysql的bin目錄下

  • 第三步:輸入mysql -hlocalhost -uroot -proot

    -u後的root爲用戶名、-p後的root爲密碼、-h爲服務器地址

  • 第四步:輸入status;

3. 對比MySQL5.5 和 MySQL 8.0sql文件

發現sql語句也多了,明顯 5.5 和 8.0不兼容

相關文章
相關標籤/搜索