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

请问我写的sql报错语法错误是为什么?

mysql> create table seckill(

    -> seckill_id bigint not null AUTO_INCREMENT,

    -> name varchar(120) not null,

    -> number int not null,

    -> start_time timestamp not null default CURRENT_TIMESTAMP,

    -> end_time timestamp not null default CURRENT_TIMESTAMP,

    -> create_time timestamp not null default CURRENT_TIMESTAMP,

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

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP,

end_time timestamp not null default CURRENT_TIMESTAMP,

cr' at line 5


正在回答

2 回答

CREATE TABLE seckill (
 `seckill_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品库存ID',
 `name` VARCHAR (120) NOT NULL COMMENT '商品名称',
 `number` INT NOT NULL COMMENT '库存数量',
 `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 `start_time` TIMESTAMP NOT NULL COMMENT '秒杀开启时间',
 `end_time` TIMESTAMP NOT NULL 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 = '秒杀库存表' ;

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

CGJ_M 提问者

非常感谢!
2017-04-05 回复 有任何疑惑可以回复我~
#2

Bruce_Vae

经过对比,我发现把我打出来的单引号替换成你的就可以成功执行,否则一直报错,你的单引号是怎么打出来的啊
2017-04-17 回复 有任何疑惑可以回复我~
#3

690017359 回复 Bruce_Vae

alt+96
2017-12-11 回复 有任何疑惑可以回复我~

create_time 放在start_time前面

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

举报

0/150
提交
取消

请问我写的sql报错语法错误是为什么?

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