今晚有人讓我將他的數據庫導入到我的mysql里,執行導入后發現有報錯
想了下可能是版本的問題,詢問了下,他的數據庫是5.7而我的是5.5
他給我提議升級mysql版本,但是我就是不想換版本
那怎么在不更換數據庫版本的情況下成功導入數據呢?
按照下面方式進行全文替換
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開始,TIMESTAMP和DATETIME列可以自動初始化並更新為當前日期和時間(即CURRENT_TIMESTAMP)
在5.6.5之前,這僅適用於TIMESTAMP,並且每個表最多只有一個TIMESTAMP列
請參考MySql官網文檔5.6版本,5.7版本
https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html