关于mysql中日期格式的默认值问题

除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格式显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值