要创建MySQL Generated列,可以使用以下语法:
CREATE TABLE table_name ( column1 datatype, column2 datatype, generated_column datatype AS (expression) VIRTUAL/PERSISTENT );
其中:
- table_name 是要创建的表的名称
- column1, column2 是表中的其他列
- generated_column 是要创建的Generated列的名称
- datatype 是Generated列的数据类型
- expression 是生成Generated列值的表达式
- VIRTUAL 表示Generated列是虚拟列,只在查询时计算其值
- PERSISTENT 表示Generated列是持久列,将其值保存在表中
例如,要创建一个表,其中包含一个Generated列,该列的值是另外两列的和:
CREATE TABLE test_table ( id INT, num1 INT, num2 INT, sum INT AS (num1 + num2) VIRTUAL );
在上面的例子中,sum列是一个Generated列,其值是num1和num2列的和。您可以在查询中使用该列,MySQL会根据num1和num2列的值计算sum列的值。