Mysql 时间类型字段仅timestamp类型支持设置默认值(当前系统时间)
MySQL关于时间字段有5种:
- year
- time
- date
- datetime
- timestamp
上述5种类型,目前仅timestamp类型支持设置默认值,设置方法如下:
使用default now()或default current_timestamp 2 种方法
方式1
mysql> alter table student modify date timestamp default now();
Query OK, 2 rows affected (0.14 sec)
Records: 2 Duplicates: 0 Warnings: 0
方式2
mysql> alter table student modify date timestamp default timestamp;
Query OK, 2 rows affected (0.14 sec)
Records: 2 Duplicates: 0 Warnings: 0
查询表字段,默认值确实设置成功
mysql> show create table student\G
*************************** 1. row ***************************
Table: student
Create Table: CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)```