关于timestamp的问题

关于timestamp的问题

在我这操作的timestamp,如果默认什么都不写,返回的是null,而不是老师所说的当前系统时间,请问是什么原因?

http://img1.sycdn.imooc.com//climg/5d402702000147c105330363.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,这个和MySQL的版本有关。

在MySQL 5.6.6之前,TIMESTAMP的默认行为:

TIMESTAMP列如果没有明确声明NULL属性,默认为NOT NULL。(而其他数据类型,如果没有显示声明为NOT NULL,则允许NULL值。)设置TIMESTAMP的列值为NULL,会自动存储为当前timestamp。

而后的版本则将默认值改为了NULL:

http://img1.sycdn.imooc.com//climg/5d40fc340001de5504750283.jpg

同学可以修改默认值:

alter table test_timestamp modify column a timestamp default current_timestamp;

然后使用default插入:

insert test_timestamp(a) values (default);

如果解答了同学的疑问,望采纳~

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师