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

强烈建议:完全卸载当前版本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

 

转载于:https://www.cnblogs.com/lj-cn/p/10579969.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值