MySQL generated column

来源:互联网 发布:膨胀腐蚀算法原理 编辑:程序博客网 时间:2024/06/06 23:52

MySQL 5.7之后增加了对generated column的支持,能够在此列中指定一些预先定义的表达式(predefined expression)或者是结合其他列使用一些函数计算出相应的结果做给该列的值

语法

column_name data_type [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED] [UNIQUE [KEY]]

generated column有两种类型,分别是virtual(默认值),stored,前者并不会将值存储到磁盘,后者会,在性能上前者更优。
创建generated column后在,insert,update,drop关联的column的时候将有可能报错。

举例

DROP TABLE IF EXISTS contacts;CREATE TABLE contacts (    id INT AUTO_INCREMENT PRIMARY KEY,    first_name VARCHAR(50) NOT NULL,    last_name VARCHAR(50) NOT NULL,    fullname varchar(101) GENERATED ALWAYS AS (CONCAT(first_name,' ',last_name)),    email VARCHAR(100) NOT NULL);INSERT INTO contacts(first_name,last_name, email)VALUES('john','doe','john.doe@mysqltutorial.org');SELECT     *FROM    contacts;

这里写图片描述

推荐博文

How To Use The MySQL Generated Columns
MySQL 5.7新特性之Generated Column(函数索引)

原创粉丝点击