mysql创建表设置默认值能用时间函数,MySQL中默认值中用时间函数的问题

今天在上课的时候在测试MSSQL建表的时候 注册时间默认值用getdate()能够获取插入值时候的时间create table temp( id int PRIMARY key, in_time datetime NOT NULL default getdate() ) 数据库

可是在MYSQL建表练习的时候不能用now()进行对应的作法:测试

create table temp(    id int PRIMARY key,    in_time datetime NOT NULL default now() )spa

却不行,最后发现MYSQL中有个数据类型:时间戳timestamp,这个类型如其意思就像邮戳同样在更改信内容时时邮戳上的时间不会改变,这种类型用来定义注册时间再好不过了。设计

作了具体的改动:get

create table temp(    id int PRIMARY key,    in_time timestamp NOT NULL defaultnow())table

不过建议用这种作法:程序设计

create table temp(    id int PRIMARY key,    in_time timestamp NOT NULL default CURRENT_TIMESTAMP )date

若是想在更新表内内容时候默认的时间戳也会便会则在穿件时间字段时候后面加on update CURRENT_TIMESTAMP 便可:数据类型

create table temp(    id int PRIMARY key,    in_time timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP)程序

若是时间戳用在一个固定不变的时间上,好比用户的注册时间上那再好不过了,不过这种在数据库中对时间可否由于需求的变动而变动显得至关麻烦,由于在不稳定的需求过程当中你修改数据库表结构的代价毕竟比在程序里加一句update in_time(就是更新时间,具体问题具体写法)更大。

程序设计,按严格的执行顺序和需求来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值