mysql定义变量默认初始值为0_MySQL数据类型 - 数据类型默认值

MySQL中的数据类型可以有显式或隐式默认值。显式默认值通过DEFAULT子句指定,8.0.13之后允许表达式作为默认值,但不支持子查询、变量等。隐式默认值对于NULLable列是NULL,非NULL列在严格模式下会报错,非严格模式下为类型特定的默认值。TIMESTAMP和DATETIME列可以使用CURRENT_TIMESTAMP作为默认值。
摘要由CSDN通过智能技术生成

数据类型默认值

数据类型规范可以有显式或隐式的默认值。

数据类型规范中的DEFAULT值子句显式指示列的默认值。示例:

d85d3f8116665be0a6ce67345cef753d.png

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数据类型分配默认值,即使表达式值是字面量:

●这种方式可行(字面量默认值指定为表达式):

4f9a401d6c9aafaa3814223a97247e7a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值