mysql建表自动填写当日时间

mysql建表自动填写当日时间:

 

列类型         显示格式 
TIMESTAMP(14)  YYYYMMDDHHMMSS 
TIMESTAMP(12)  YYMMDDHHMMSS 
TIMESTAMP(10)  YYMMDDHHMM 
TIMESTAMP(8)   YYYYMMDD 
TIMESTAMP(6)   YYMMDD 
TIMESTAMP(4)   YYMM 
TIMESTAMP(2)   YY 


它会自动地用当前的日期和时间标记你的INSERT或UPDATE的操作。如果一张表中有多个TIMESTAMP列,只有第一个自动更新。

在下列情况下MySQL会自动更新第一个TIMESTAMP列为当前系统时间

1、当一个INSERT、UPDATE或LOAD DATA INFILE语句中没有明确地指定其值时。

(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。看附例)

2、你明确地设定TIMESTAMP列为NULL.

3、除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。

例:

CREATE TABLE catv.call (
  callintime timestamp(14) ,
  calldh varchar(10) DEFAULT '',
  callnm varchar(10) DEFAULT '',
  calldq varchar(20) NOT NULL DEFAULT '' ,
  callinnum varchar(14) DEFAULT '',
  callinvoice varchar(28) DEFAULT '',
  recallnum varchar(14) DEFAULT '',
  pass enum('True','False') NOT NULL DEFAULT 'False' ,
  KEY callinnum (callinnum),
  KEY callintime (callintime)
)

UPDATE call SET callintime=callintime,pass="True" 

上一条指令会将表中所有的记录 pass 字段设为 True  而其它的字段值均不会改变!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值