SQLYog執行SQL腳本提示:錯誤代碼: 1067 - Invalid default value for '數據庫表'查詢:解決辦法

強烈建議:徹底卸載當前版本MySQL,從新安裝5.6及以上版本html

徹底卸載方法:https://jingyan.baidu.com/article/3d69c551611290f0ce02d77b.htmlsql

卸載完以後記得刪除C:\ProgramData下的隱藏文件MySQLspa

這是我在網上查閱多方資料,嘗試無數次,踩了不少坑以後獲得的最優解決辦法!3d

至於網上修改sql_mode之類的辦法,親測無效,可能和我代碼有關,不作贅述!code

出現該錯誤緣由:MySQL版本不一樣,致使5.6版本以前和以後的語法有很大不一樣,我嘗試過改語法,雖然最後改爲功了,但效果不是很好。htm

致使出錯代碼部分:blog

CREATE TABLE `msg` (
  `id` bigint(20) NOT NULL COMMENT '主鍵',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',
  `gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',
  `status_id` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '狀態(1有效, 0無效)',
  `sort` int(11) NOT NULL DEFAULT '1' COMMENT '排序',
  `msg_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '短信類型(1系統消息,2其餘)',
  `msg_title` varchar(255) NOT NULL COMMENT '短信標題',
  `msg_text` text COMMENT '短信內容',
  `is_time_send` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '是否認時發送(1是,0否)',
  `send_time` datetime DEFAULT NULL COMMENT '發送時間',
  `is_send` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '是否已發送(1是;0否)',
  `is_top` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '是否置頂(1是;0否)',
  `back_remark` varchar(255) DEFAULT NULL COMMENT '後臺備註',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='站內信息表';

注意代碼中標紅的地方,5.6版本以前使用的是timestamp,以後使用的是datetime,它們倆的區別具體看以下連接:排序

http://www.javashuo.com/article/p-ohsqoidu-e.htmlrem

相關文章
相關標籤/搜索