除timestamp类型外,系统不支持其它时间类型字段设置默认值
以下3种写法都可以:
1.DEFAULT CURRENT_TIMESTAMP()
create table `new`(
`id` int(4) primary key auto_increment,
`create_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
)
2.DEFAULT CURRENT_TIMESTAMP
create table `new`(
`id` int(4) primary key auto_increment,
`create_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
3.DEFAULT NOW()
create table `new`(
`id` int(4) primary key auto_increment,
`create_date` TIMESTAMP DEFAULT NOW()
)
MySQL中有一些日期函数可供我们使用,我们可以使用 ” select 函数名() ; ” 的 sql 查看它们的返回值。
例如:
select CURRENT_DATE();
select CURRENT_TIME();
select CURRENT_TIMESTAMP();
select now();
对于datetime类型和timestamp类型的数据,如何向其中插入值呢?
两种类型的数据插入方式没什么区别,使用以下sql语句:
insert into `new`
VALUES
(1,now()),
(2,'2021-05-22'),
(3,'2021-05-22 17:01:01'),
(4,'20210522170101');
看下结果:
结论:
1.若要插入当前时间,可以根据需求使用以上的日期函数,但只有年-月-日格式的日期函数会自动补全时:分:秒,值为00:00:00;若要插入其他日期需使用字符串格式,使用单引号或双引号引起来值,若只写年-月-日,会默认填充时:分:秒为00:00:00
2.不管插入格式是什么样的,结果都是YYYY-MM-DD HH:mm:ss格式显示