使用TIMESTAMP列类型,
列类型 显示格式
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 而其它的字段值均不会改变!
列类型 显示格式
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 而其它的字段值均不会改变!