使用限制
支持常量,确定的内置函数及运算符。(确定性函数:对于给定的表里的数据,不同用户多次调用返回相同结果;不确定性函数: 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
网友评论