2021-04-09 MySQL生成列(Generated Columns)

使用限制

支持常量,确定的内置函数及运算符。(确定性函数:对于给定的表里的数据,不同用户多次调用返回相同结果;不确定性函数: CONNECTION_ID(), CURRENT_USER(), NOW() )

不支持存储函数和UDF(user-defined functions,用户自定义函数)。

不支持存储过程及函数的参数。

不支持使用变量(系统变量,用户定义的变量和存储的程序局部变量)。

不支持子查询。

可以基于生成列再创建生成列,但是被依赖的生成列必须在前;如果基于基础列,则没有先后顺序。

自增(AUTO_INCREMENT )属性不能用在生成列上。

不能基于自增列创建生成列。

从MySQL 5.7.10开始,如果表达式求值导致截断或向函数提供不正确的输入,则CREATE TABLE语>句将以错误终止并拒绝DDL操作。


参考文档

https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html

https://dev.mysql.com/doc/refman/5.7/en/create-table-secondary-indexes.html

https://dev.mysql.com/doc/refman/5.7/en/generated-column-index-optimizations.html

你可能感兴趣的:(2021-04-09 MySQL生成列(Generated Columns))