You can set the default value for the TIMESTAMP type in MYSQL, just like other types.
1. Automatic UPDATE and INSERT to current time:
Table:
-----------
Table Create Table
-------------------------------
T1 create table 't1 '(
'P _ C' int (11) not null,
'P _ time' timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE = InnoDB default charset = gb2312
Data:
1 2007-10-08 11:53:35
2 2007-10-08 11:54:00
Insert into t1 (p_c) select 3;
Update t1 set p_c = 2 where p_c = 5;
Data:
1 2007-10-08 11:53:35
5 2007-10-08 12:00:37
3 2007-10-08 12:00:37
2. Automatic INSERT to the current time, but not automatic UPDATE.
Table:
-----------
Table Create Table
---------------------
T1 create table 't2 '(
'P _ C' int (11) not null,
'P _ time' timestamp not null default CURRENT_TIMESTAMP
) ENGINE = InnoDB default charset = gb2312
Data:
Insert into t2 (p_c) select 4;
Update t2 set p_c = 3 where p_c = 5;
1 2007-10-08 11:53:35
2 2007-10-08 12:00:37
5 2007-10-08 12:00:37
4 2007-10-08 12:05:19
3. A table cannot have two fields. The default value is the current time. Otherwise, an error occurs. But others can.
Table:
-----------
Table Create Table
-----------------------
T1 create table 't1 '(
'P _ C' int (11) not null,
'P _ time' timestamp not null default CURRENT_TIMESTAMP,
'P _ timew2 'timestamp not null default '2017-00-00 00:00:00'
) ENGINE = InnoDB default charset = gb2312
Data:
1 2007-10-08 11:53:35 0000-00-00 00:00:00
2 12:00:37 0000-00-00 00:00:00
3 2007-10-08 12:00:37 0000-00-00 00:00:00
4 12:05:19 0000-00-00 00:00:00
TIMESTAMP Variant
1, timestamp default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
This data column is refreshed when a new record is created and an existing record is modified.
2, timestamp default CURRENT_TIMESTAMP
This field is set to the current time when a new record is created, but it will not be refreshed when it is modified later.
3, timestamp on update CURRENT_TIMESTAMP
Set this field to 0 when creating a new record, and refresh it later.
4, timestamp default 'yyyy-mm-dd hh: mm: ss' on update CURRENT_TIMESTAMP
Set this field as a given value when creating a new record, and refresh it later.
From shunzi Network