码迷,mamicode.com
首页 > 数据库 > 详细

SQLYog执行SQL脚本提示:错误代码: 1067 - Invalid default value for '数据库表'查询:解决办法

时间:2019-03-22 18:23:36      阅读:1488      评论:0      收藏:0      [点我收藏+]

标签:卸载   资料   efault   row   send   prim   data   dynamic   无效   

强烈建议:完全卸载当前版本MySQL,重新安装5.6及以上版本

完全卸载方法:https://jingyan.baidu.com/article/3d69c551611290f0ce02d77b.html

卸载完之后记得删除C:\ProgramData下的隐藏文件MySQL

这是我在网上查阅多方资料,尝试无数次,踩了很多坑之后得到的最优解决办法!

至于网上修改sql_mode之类的办法,亲测无效,可能和我代码有关,不做赘述!

出现该错误原因:MySQL版本不同,导致5.6版本之前和之后的语法有很大不同,我尝试过改语法,虽然最后改成功了,但效果不是很好。

导致出错代码部分:

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,它们俩的区别具体看如下链接:

https://www.cnblogs.com/mxwz/p/7520309.html

 

SQLYog执行SQL脚本提示:错误代码: 1067 - Invalid default value for '数据库表'查询:解决办法

标签:卸载   资料   efault   row   send   prim   data   dynamic   无效   

原文地址:https://www.cnblogs.com/lj-cn/p/10579969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!