MYSQL5.7生成列简介及创建
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 '全名(虚拟列)'
详见 https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html
MYSQL5.7生成列简介及创建的更多相关文章
- mysql5.7 生成列 generated column
		
生成列的值是根据列定义中的表达式计算得出的. mysql5.7支持两种类型的生成列: 1.virtual 生成列:当从表中读取记录时,才计算该列值.不会把数据持久化在硬盘上. 2.stored 生成列 ...
 - 设置DataGridView不自动创建生成列
		
DataGridView.AutoGenerateColumns 获取或设置一个值,该值指示是否为数据源中的每一字段自动创建 BoundColumn 对象并在 DataGrid 控件中显示这些对象. ...
 - PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word
		
PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0步骤:1. 为指定的数据库配置mysql的ODBC数据源先下载 ...
 - Power Designer逆向操作(从mysql5.0生成数据库的物理模型)
		
Power Designer逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0 步骤: 1. 为指定的数据库配置MySQL的ODBC数据 ...
 - WPF Datagrid 动态生成列  并绑定数据
		
原文:WPF Datagrid 动态生成列 并绑定数据 说的是这里 因为列头是动态加载的 (后台for循环 一会能看到代码) 数据来源于左侧列 左侧列数据源 当然num1 属于临时的dome使用 可 ...
 - wpf 通过为DataGrid所绑定的数据源类型的属性设置Attribute改变DataGrid自动生成列的顺序
		
环境Win10 VS2019 .Net Framework4.8 在wpf中,如果为一个DataGrid绑定到一个数据源,默认情况下DataGrid会为数据源类型的每个属性生成一个列(Column)对 ...
 - (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句
		
(喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 在我们RDIFramework.NET代码生成器中,有这样一个应用,就是通过数据库表自动生成表的CREA ...
 - 利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句
		
利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 在我们RDIFram ...
 - CSS border三角、圆角图形生成技术简介
		
http://www.zhangxinxu.com/wordpress/?p=794 一.前言 利用CSS的border属性可以生成一些图形,例如三角或是圆角.纯粹的CSS2的内容,没有兼容性的问题, ...
 
随机推荐
- C++ Multimap运用实例
			
C++ Multimap运用实例 #include <map> #include <string> #include <iostream> #include < ...
 - 文档工具的王者Sphinx
			
Sphinx https://www.sphinx.org.cn/ Sphinx是一个工具,可以轻松创建由Georg Brandl编写并根据BSD许可证授权的智能和美观文档 它最初是为Python文档 ...
 - Python - Django - 扩展默认 auth 表
			
models.py: from django.db import models from django.contrib.auth.models import AbstractUser class Us ...
 - 设计模式php+java版本(1) 基础篇 七大原则
			
2019年9月6日11:15:46 关于设计模式,其实就是编程思想的一个体现,有比较完善的编程思想写出的项目代码和没有编程思想的写出的差距巨大,代码的可读性,可维护性,可扩展性天差地别,有些刚接触的编 ...
 - Oracle Spatial分区应用研究之六:全局空间索引下按县分区与按省分区效率差异原因分析
			
1.实验结论 全局空间索引下,不同分区粒度之所有效率会有不同,差异并不在于SDO_FILTER操作本身,而在于对于数据字典表的访问次数上: 分区越多.表上的lob column越多,对数据字典表的访问 ...
 - .Net Core 3 骚操作 之 用 Windows 桌面应用开发 Asp.Net Core 网站
			
前言 曾经在开发 Asp.Net 网站时就在想,为什么一定要把网站挂到 IIS 上?网站项目的 Main 函数哪儿去了?后来才知道这个 Main 函数在 w3wp.exe 里,这也是 IIS 的主进程 ...
 - python:求整数的二进制表示
			
求解方法: 1.整数求余 2.重复进行,整数除2再求余,直到除数为0 3.拼接余数 4.反转字符串 def int2two(intNo): twoStr='' if intNo == 0: twoSt ...
 - day48——css样式
			
day48 通过调试窗口还可以玩一个神奇的东西 document.body.contentEditable=true css样式 高度宽度 width宽度 height高度 块级标签能设置高度宽度,内 ...
 - unity---为什么用Time.deltaTime * speed 表示每秒移动的距离的理解
			
Time.deltaTime:代表时间增量,即从上一帧到当前帧消耗的时间, 这个值是动态变化的. dt 表示 deltaTime. 假如 1s渲染10帧,沿X轴方向的移动速度 speed = 10m/ ...
 - Codeforces Round #499 (Div. 1)
			
Codeforces Round #499 (Div. 1) https://codeforces.com/contest/1010 为啥我\(\rm Div.1\)能\(A4\)题还是\(\rm s ...