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

mysql建表的问题

MySQL 5.7.12在创建表的时候,字段不能带有引号,还有start_time、end_time在设置为not null 后要有默认值,不然会报错,然后我就改为了null。。。有同样问题的吗?

提问者:moonie 2016-05-24 23:21

个回答

  • 键盘兔
    2016-07-13 11:32:39

    另外纠正一下 字段名两边不是单引号 是`字段名` ,5,7是可以使用的。 

  • 键盘兔
    2016-07-13 11:27:25

    同样的问题啊,是1067 - Invalid default value for 'end_time'错误吗?我和你的版本一样。一直执行不过去。不是说TIMESTAMP 不能为空吗?

  • moonie
    2016-05-24 23:26:56

    -- 创建数据库
    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 NULL COMMENT '秒杀开始时间',
    end_time TIMESTAMP 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='秒杀库存表';

    以上是我改过的,不然会报错。