January 2018
Intermediate to advanced
446 pages
12h 57m
English
Suppose your application is using full_name as concat('first_name', ' ', 'last_name') while retrieving the data from the employees table; instead of using the expression, you can use a virtual column, which calculates full_name on the fly. You can add another column followed by the expression:
mysql> CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` enum('M','F') NOT NULL, `hire_date` date NOT NULL, `full_name` VARCHAR(30) AS (CONCAT(first_name,' ',last_name)), PRIMARY KEY (`emp_no`), KEY `name` (`first_name`,`last_name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Note that you should modify the insert statement according ...