说明

MYSQL 的默认值仅支持常量,不支持公式或者变量。
除了 timestamp 可以设置默认值为current_timestamp 之外,其它均不可。

新建表 user

CREATE TABLE `user` (
`email` VARCHAR(150) NOT NULL COMMENT 'Email',
`active` TINYINT NOT NULL DEFAULT 1 COMMENT 'Active',
`updated_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Updated Time',
`created_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Created Time',
PRIMARY KEY (`email`)
)
ENGINE = InnoDB
DEFAULT CHARSET=utf8mb4
COMMENT = 'user';

Fileld "active" 默认值设置为1,Field "updated_time" & "created_time" 默认值为当前时间。

DESC user

MySQL - Default 常量_插入数据

插入数据

MySQL - Default 常量_默认值_02

插入数据之后,active值为0,"updated_time" & "created_time"为当前时间。因为,Java中active默认值为false,即默认值为0。