原sql->
create table `upload_file` (
`file_id` varchar(32) not null,
`file_path` varchar(64) not null comment '文件存储路径',
`file_size` varchar(32) not null comment '文件大小',
`file_suffix` varchar(8) not null comment '文件后缀',
`file_name` varchar(32) not null comment '文件名',
`file_md5` varchar(32) not null comment '文件md5值',
`create_time` timestamp not null default current_timestamp comment '创建时间',
`update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改时间',
primary key (`file_id`)
)comment '文件存储表';
报错原因提示的很清楚了,
网上查了解决办法,第一种可以换mysql5.7。我目前用5.5。但没试过。
第二种换sql
create table `upload_file` (
`file_id` varchar(32) not null,
`file_path` varchar(64) not null comment '文件存储路径',
`file_size` varchar(32) not null comment '文件大小',
`file_suffix` varchar(8) not null comment '文件后缀',
`file_name` varchar(32) not null comment '文件名',
`file_md5` varchar(32) not null comment '文件md5值',
`create_time` timestamp default '0000-00-00 00:00:00',
`update_time` timestamp default now() on update now(),
primary key (`file_id`)
)comment '文件存储表';
换完sql之后自然想尝试一番,用insert插入数据试试看。
insert into upload_file (file_id, file_path, file_size, file_suffix, file_name, file_md5) values ('1', '2', '3', '4', '5', '6');
得到的结果上图:
上传时间是默认值,并不是当前时间!
然后sql怎么写能达到想要的效果?应该这么写。
insert into upload_file (file_id, file_path, file_size, file_suffix, file_name, file_md5, create_time, update_time) values ('2', '2', '3', '4', '5', '6', null, null);
结果上图: