美文网首页
【二】Mysql相关

【二】Mysql相关

作者: 吴里庆庆 | 来源:发表于2018-04-23 18:19 被阅读0次

    1. Invalid default value for 'end_time'问题

    1.1执行如下

    CREATE TABLE seckill(
    `seckill_id` bigint not null AUTO_INCREMENT COMMENT '商品库存id',
       `name` varchar(120) not null comment '商品名称',
       `number` int not NULL comment '库存数量',
       `start_time` TIMESTAMP not NULL comment '秒杀开始时间',
       `end_time` TIMESTAMP not NULL comment '秒杀开始时间',
       `create_time` TIMESTAMP not null DEFAULT current_timestamp comment '创建时间',
    PRIMARY key (seckill_id),
    key idx_start_time (start_time),
     key idx_end_time(end_time),
    key idx_create_time(create_time)
    )ENGINE=InnoDB auto_increment=1000 DEFAULT CHARSET=utf8 COMMENT='秒杀库存表';
    
    

    执行时发现报invalid default value for 'end_time‘。

    1.2解决方法

    首先用下面的命令看下sql_mode

    show variables like 'sql_mode';
    

    发现查询的结果如下:

    ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
    

    如果结果中含有NO_ZERO_IN_DATE, NO_ZERO_DATE则执行下面的命令:

    set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    

    相关文章

      网友评论

          本文标题:【二】Mysql相关

          本文链接:https://www.haomeiwen.com/subject/yvwllftx.html