十三在 GitHub 倉庫中開源了一個 Spring Boot 技術棧開發的 My-Blog 項目:git
由於功能比較多,數據的存儲就選擇了 MySQL 數據庫,該項目的表結構也放到了倉庫中,方便你們運行和使用這個開源博客項目,期間一直有人提到題目中的這個問題,在導入 SQL 語句到 MySQL 數據庫中的時候會報以下錯誤: Invalid default value for 'create_time' ,錯誤截圖以下:github
因爲不止一個朋友在羣裏或者倉庫裏給我提這個問題,所以今天就整理一下解決方案。數據庫
重裝 MySQL 數據庫,版本選擇 5.7 或者 5.7 以上版本,這個方案有些粗暴,不喜歡粗暴的朋友能夠繼續往下看。3d
這個錯誤的主要緣由,是由於給了時間字段的列默認值一個 CURRENT_TIMESTAMP 默認值,而這個默認值在低版本的 MySQL 中是不支持的,所以就出現了題目中的這個報錯,因此呢,把每一個時間字段的默認值修改一下便可,好比:code
DROP TABLE IF EXISTS `tb_config`; CREATE TABLE `tb_config` ( `config_name` varchar(100) NOT NULL DEFAULT '' COMMENT '配置項的名稱', `config_value` varchar(200) NOT NULL DEFAULT '' COMMENT '配置項的值', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間', PRIMARY KEY (`config_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
改成blog
DROP TABLE IF EXISTS `tb_config`; CREATE TABLE `tb_config` ( `config_name` varchar(100) NOT NULL DEFAULT '' COMMENT '配置項的名稱', `config_value` varchar(200) NOT NULL DEFAULT '' COMMENT '配置項的值', `create_time` datetime DEFAULT NULL COMMENT '建立時間', `update_time` datetime DEFAULT NULL COMMENT '修改時間', PRIMARY KEY (`config_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
就齊活了。開發
固然,也有錯誤示範,好比我讓別人改默認值,有個小老弟就改爲了以下這個樣子:get
但願你們不要犯一樣的錯誤。博客
以上兩種方案你們應該都看的懂,爲了防止某些小老弟太秀,SQL 語句都不會改,又有了第三個方案,表結構開源了,字段你們應該也都清楚,若是不會執行 SQL 語句,那你就本身建立表,把字段一個個的建立了,這種方式也是能夠滴。it
一個一個的把字段名稱和類型設置進去就能夠了。
好的,此次的問題答疑就到此結束啦,若是寫成這樣仍是沒解決你的問題,我建議你換一個項目學學,我真的太難了。
My-Blog 的 GitHub 倉庫地址是 https://github.com/ZHENFENG13/My-Blog,Gitee 地址是 https://gitee.com/zhenfeng13/My-Blog喜歡的朋友能夠關注一下。