MySQL5.7的sql腳本導入到MySQL5.5出錯解決
今晚有人讓我將他的數據庫導入到我的mysql里,執行導入后發(fā)現有報錯
想了下可能是版本的問(wèn)題,詢(xún)問(wèn)了下,他的數據庫是5.7而我的是5.5
他給我提議升級mysql版本,但是我就是不想換版本
那怎么在不更換數據庫版本的情況下成功導入數據呢?
按照下面方式進(jìn)行全文替換
datetime(3) ===>datetime
datetime(0) ===>datetime
TIMESTAMP(3) ===>TIMESTAMP
DEFAULT CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) ===>DEFAULT '0000-00-00 00:00:00'
DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
都替換后重新運行sql,導入成功了
注:
從MySQL 5.6.5開(kāi)始,TIMESTAMP和DATETIME列可以自動(dòng)初始化并更新為當前日期和時(shí)間(即CURRENT_TIMESTAMP)
在5.6.5之前,這僅適用于TIMESTAMP,并且每個(gè)表最多只有一個(gè)TIMESTAMP列
請參考MySql官網(wǎng)文檔5.6版本,5.7版本
https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html