MYSQL5.7生成列简介及创建
2024-09-01 04:39:38
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
最新文章
- c#多线程
- java中的内部类总结
- django之一些feature
- PHP【函数】
- MATLAB基础知识之内存映射
- 逗号分隔的字符串转换为行数据(collection)(续)
- 【HDU 1007】Quoit Design
- 修改Fedora 20 启动项
- 控件注册 - 利用资源文件将dll、ocx打包进exe文件(C#版)
- <;转>;LOG日志级别
- MYSQL:RELPACE用法
- [SCOI2009]windy数
- 洛谷P2251 【质量检测】
- HashMap多线程put后get为null和多线程put的时候可能导致元素丢失
- js识别设备
- mysql ANSI_QUOTES 这个sql_mode的作用(字段可以使用双引号)
- [C] 在 C 语言编程中实现动态数组对象
- 吴裕雄 08-MySQL创建数据表
- STM 软件事务内存——本质是为提高并发,通过事务来管理内存的读写访问以避免锁的使用
- 升级安装windows8.1以后windowsphone8不能启动虚拟机的办法
热门文章
- Fiddler抓包Fiddler过滤
- BigDecimal 与double 转化失真
- Linux 运行命令 提示 bash command not found
- 远程控制分析之VBS编码转换
- Xcode7.2真机测试问题";The account &#39;appleID &#39; has no team with ID ‘’
- Java Web 应用概述
- day16——自定义模块、time、datetime、random
- Spring Boot 注解大全,真是太全了!
- NAIPC 2018
- JVM与并发