您的位置:首页 > 数据库 > MySQL

mysql日期类型学习

2015-01-10 11:10 281 查看
mysql> select * from t;

+------+

| id   |

+------+

|  100 |
+------+

mysql> alter table t add  start_time datetime;

Query OK, 0 rows affected (0.07 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t add end_time timestamp;

Query OK, 0 rows affected (0.05 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t add end_time timestamp;

Query OK, 0 rows affected (0.05 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from t;

+------+------------+---------------------+

| id   | start_time | end_time            |

+------+------------+---------------------+

|  100 | NULL       | 2015-01-10 09:49:09 |

+------+------------+---------------------+

1 row in set (0.00 sec)

mysql> show columns from t;

+------------+------------+------+-----+-------------------+--------------------

---------+

| Field      | Type       | Null | Key | Default           | Extra

         |

+------------+------------+------+-----+-------------------+--------------------

---------+

| id         | tinyint(2) | YES  |     | NULL              |

         |

| start_time | datetime   | YES  |     | NULL              |

         |

| end_time   | timestamp  | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

+------------+------------+------+-----+-------------------+--------------------

mysql> update t set id=10;

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from t;

+------+------------+---------------------+

| id   | start_time | end_time            |

+------+------------+---------------------+

|   10 | NULL       | 2015-01-10 09:50:25 |

+------+------------+---------------------+

1 row in set (0.00 sec)

mysql> alter table t add update_time timestamp;

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t;

+-------------+------------+------+-----+---------------------+-----------------

------------+

| Field       | Type       | Null | Key | Default             | Extra

            |

+-------------+------------+------+-----+---------------------+-----------------

------------+

| id          | tinyint(2) | YES  |     | NULL                |

            |

| start_time  | datetime   | YES  |     | NULL                |

            |

| end_time    | timestamp  | NO   |     | CURRENT_TIMESTAMP   | on update CURREN

T_TIMESTAMP |

| update_time | timestamp  | NO   |     | 0000-00-00 00:00:00 |

            |

+-------------+------------+------+-----+---------------------+-----------------

mysql> alter table t add delete_time timestamp default current_timestamp;

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t;

+-------------+------------+------+-----+---------------------+-----------------

------------+

| Field       | Type       | Null | Key | Default             | Extra

            |

+-------------+------------+------+-----+---------------------+-----------------

------------+

| id          | tinyint(2) | YES  |     | NULL                |

            |

| start_time  | datetime   | YES  |     | NULL                |

            |

| end_time    | timestamp  | NO   |     | CURRENT_TIMESTAMP   | on update CURREN

T_TIMESTAMP |

| update_time | timestamp  | NO   |     | 0000-00-00 00:00:00 |

            |

| delete_time | timestamp  | NO   |     | CURRENT_TIMESTAMP   |

            |

+-------------+------------+------+-----+---------------------+-----------------

------------+

5 rows in set (0.02 sec)

看到有2个timestamp类型的列时候,第二个的timestamp列的属性默认值就是0le,也没有update_current_timestamp属性,但是可以通过设置default来设置默认值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: