问答详情
源自:4-1 数据库设计与编码

MYSQL 语句 DEFAULT CURRENT_TIMESTAMP这句话出错怎么回事?

MYSQL  语句 DEFAULT CURRENT_TIMESTAMP这句话出错怎么回事?


 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='秒杀库存表'

提问者:寂静无声0 2016-05-15 23:41

个回答

  • 我是一只小老虎
    2016-11-08 21:43:07

    如果你装的是mysql 5.5的话,就会出现报错。sql是没错的

  • I醉里挑灯看剑
    2016-09-24 21:38:04

    你可以把这句语句放在前面,类似这样

    create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    start_time timestamp NOT NULL COMMENT '秒杀开始时间',

    end_time timestamp NOT NULL COMMENT '秒杀结束时间',

    就不会报错了

  • 半边口袋
    2016-05-21 20:48:42

    解决方法是什么?

  • 寂静无声0
    2016-05-19 09:57:20

    百度了下,是数据库工具问题,sql语句是没问题的,但是Navicat默认创建starttime的时候使用了默认DEFAULT CURRENT_TIMESTAMP,导致出错

  • 小罗天然
    2016-05-18 22:11:03

    这句sql没有问题