MySQL 如何使用内置函数在MySQL虚拟GENERATED COLUMNS中工作?
可以通过在名为“employee_data”的表中创建一个虚拟生成的列的示例来说明。我们知道虚拟生成的列可以使用关键字“virtual”生成或不生成。
阅读更多:MySQL 教程
例子
mysql> 创建表employee_data(ID INT AUTO_INCREMENT PRIMARY KEY,
First_name VARCHAR(50)NOT NULL,Last_name VARCHAR(50)NOT NULL,
FULL_NAME VARCHAR(90)GENERATED ALWAYS AS(CONCAT(First_name,'',Last_name)));
查询成功,0行受影响(0.55秒)
mysql> DESCRIBE employee_data;
+------------+-------------+------+-----+---------+-------------------+
| 域 | 类型 | 空 | 键 | 默认 | 额外 |
+------------+-------------+------+-----+---------+-------------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| First_name | varchar(50)| NO | | NULL | |
| Last_name | varchar(50)| NO | | NULL | |
| FULL_NAME | varchar(90)| YES | | NULL | VIRTUAL GENERATED |
+------------+-------------+------+-----+---------+-------------------
集合中的4行(0.00秒)
mysql> INSERT INTO employee_data(first_name, Last_name) values('Yashpal','Sharma');
查询成功,1行受影响(0.09秒)
mysql> INSERT INTO employee_data(first_name, Last_name) values('Krishan','Kumar');
查询成功,1行受影响(0.09秒)
mysql> INSERT INTO employee_data(first_name, Last_name) values('Rakesh','Arora');
查询成功,1行受影响(0.08秒)
mysql> 从employee_data中选择*;
+----+------------+-----------+----------------+
| ID | First_name | Last_name | FULL_NAME |
+----+------------+-----------+----------------+
| 1 | Yashpal | Sharma | Yashpal Sharma |
| 2 | Krishan | Kumar | Krishan Kumar |
| 3 | Rakesh | Arora | Rakesh Arora |
+----+------------+-----------+----------------+
集合中的3行(0.00秒)