欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MYSQL5.7生成列简介及创建

程序员文章站 2022-11-25 15:36:49
1、说明 生成列是由已存在的字段通过表达式计算得来的 2、生成列类型 VIRTUAL,即 类型,字段值不实际存储,当读取行时再计算,虚拟列类型不占存储 STORED,即 类型,字段值会实际存储起来,当插入或更新时,字段值会计算出来并存储起来 3、用法 如: 再如: 详见 https://dev.my ......

1、说明

生成列是由已存在的字段通过表达式计算得来的

2、生成列类型

virtual,即虚拟类型,字段值不实际存储,当读取行时再计算,虚拟列类型不占存储
stored,即存储类型,字段值会实际存储起来,当插入或更新时,字段值会计算出来并存储起来

3、用法

col_name data_type [generated always] as (expr)
  [virtual | stored] [not null | null]
  [unique [key]] [[primary] key]
  [comment 'string']

如:

create table person (
  first_name varchar(10) not null comment '名',
  last_name varchar(10) not null comment '姓',
  full_name varchar(21) generated always as (concat(first_name,' ',last_name)) stored not null comment '全名'
);

再如:

alter table person add full_name_gc varchar(21) 
generated always as (concat(first_name,'_',last_name)) virtual not null comment '全名(虚拟列)'

详见