为了账号安全,请及时绑定邮箱和手机立即绑定

关于SQL问题

老师请问当我去掉start_time 和end_time的not null改为null 才能插入,而你的却可以是什么个情况?

mysql> CREATE TABLE seckill(

    ->  seckill_id bigint NOT NULL AUTO_INCREMENT COMMENT

    ->  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_TIM

间',

    ->  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=

表';

ERROR 1067 (42000): Invalid default value for 'end_time'


正在回答

3 回答

我的mysql版本是5.7.11,把end_time修改为null ,start_time还是not null,执行没有问题

0 回复 有任何疑惑可以回复我~

我也出现了,应该是版本问题~

0 回复 有任何疑惑可以回复我~

老师的mysql版本比较新,5.6.26,你的可能比较早,timestamp NOT NULL必须设定默认值

0 回复 有任何疑惑可以回复我~
#1

kevin5 提问者

我的是5.7.12最新
2016-05-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java高并发秒杀API之业务分析与DAO层
  • 参与学习       87437    人
  • 解答问题       496    个

Java实现高并发秒杀API的第一门课,还等什么,赶快来加入吧

进入课程

关于SQL问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信