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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容