可以借助一个示例进行说明,在该示例中,我们在名为“ employee_data”的表中创建虚拟生成的列。众所周知,可以在使用或不使用关键字'virtual'的情况下生成虚拟生成的列。
示例mysql> Create table 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)));
mysql> DESCRIBE employee_data;
+------------+-------------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------------------+
| 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 rows in set (0.00 sec)
mysql> INSERT INTO employee_data(first_name, Last_name) values('Yashpal','Sharma');
mysql> INSERT INTO employee_data(first_name, Last_name) values('Krishan','Kumar');
mysql> INSERT INTO employee_data(first_name, Last_name) values('Rakesh','Arora');
mysql> Select * from 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 rows in set (0.00 sec)