数据类型默认值
数据类型规范可以有显式或隐式的默认值。
数据类型规范中的DEFAULT值子句显式指示列的默认值。示例:
SERIAL DEFAULT VALUE是一种特殊情况。在整数列的定义中,它是NOT NULL AUTO_INCREMENT UNIQUE的别名。
处理显式DEFAULT子句,某些方面依赖于特定版本,如下所述。
●MySQL 8.0.13处理显式默认值
●MySQL8.0.13之前处理显式默认值
●处理隐式默认值
MySQL 8.0.13处理显式默认值
DEFAULT子句中指定的默认值可以是字面常量或表达式。有一个例外,将表达式默认值括在括号内,以区别于字面常量默认值。示例:
例外情况是,对于TIMESTAMP和DATETIME列,可以指定CURRENT_TIMESTAMP函数作为默认值,而不需要用括号括起来。
只有用表达式才能给BLOB、TEXT、GEOMETRY和JSON数据类型分配默认值,即使表达式值是字面量:
●这种方式可行(字面量默认值指定为表达式):