要在表中添加 MySQL 虚拟生成列,我们可以使用与添加列相同的语法,只需在数据类型后添加“AS(表达式)”即可。其语法如下 -
语法
ALTER TABLE table_name
ADD COLUMN column_name AS(expression);
示例
mysql> ALTER TABLE employee_data ADD COLUMN FULLName Varchar(200) AS(CONCAT_WS(" ", 'First_name','Last_name'));
Query OK, 0 rows affected (0.49 sec)
Records: 0 Duplicates: 0 Warnings: 0
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 |
| FULLName | varchar(200) | YES | | NULL | VIRTUAL GENERATED |
+------------+--------------+------+-----+---------+-------------------+
5 rows in set (0.00 sec)