MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。
1、自动UPDATE 和INSERT 到当前的时间:
表:
---------------------------------
Table Create Table
------ --------------------------
CREATETABLE`t1` (
`p_c`int(11)NOTNULL,
`p_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP) ENGINE=InnoDBDEFAULTCHARSET=gb2312
数据:
1 2007-10-08 11:53:35
2 2007-10-08 11:54:00
insertintot1(p_c)select3;updatet1setp_c=2wherep_c=2;
数据:
1 2007-10-08 11:53:35
2 2007-10-08 12:00:37
3 2007-10-08 12:00:37
2、自动INSERT 到当前时间,不过不自动UPDATE。
表:
---------------------------------
Table Create Table
------ ---------------------------
CREATETABLE`t1` (
`p_c`int(11)NOTNULL,
`p_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP) ENGINE=InnoDBDEFAULTCHARSET=gb2312
数据:
insertintot1(p_c)select4;updatet1setp_c=3wherep_c=3;
1 2007-10-08 11:53:35
2 2007-10-08 12:00:37
3 2007-10-08 12:00:37
4 2007-10-08 12:05:19
3、一个表中不能有两个字段默认值是当前时间,否则就会出错。不过其他的可以。
表:
---------------------------------
Table Create Table
------ --------------------------
CREATETABLE`t1` (
`p_c`int(11)NOTNULL,
`p_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,
`p_timew2`timestampNOTNULLDEFAULT'0000-00-00 00:00:00') ENGINE=InnoDBDEFAULTCHARSET=gb2312
数据:
1 2007-10-08 11:53:35 0000-00-00 00:00:00
2 2007-10-08 12:00:37 0000-00-00 00:00:00
3 2007-10-08 12:00:37 0000-00-00 00:00:00
4 2007-10-08 12:05:19 0000-00-00 00:00:00