CREATE TABLE Software ( name varchar(8) not null, title varchar(20) not null, dev_in varchar(8) not null, scost decimal(7,2), dcost integer(5), sold integer(3) );
I want to have a column selling_price which is sum of scost and dcost.
Advertisement
Answer
You can use MySQL generated columns for it. Reference Doc
-- when creating table create table software ( name varchar(8) not null, title varchar(20) not null, dev_in varchar(8) not null, scost decimal(7,2), dcost integer(5), sold integer(3), selling_price decimal(7,2) as (dcost + scost) ); -- or for an existing table alter table software add column selling_price decimal(7,2) as (dcost + scost);
mysql> insert into software (name, title, dev_in, scost, dcost, sold) -> values("s", "s", "ss", 100.1, 2, 3); mysql> select * from software; +------+-------+--------+--------+-------+------+---------------+ | name | title | dev_in | scost | dcost | sold | selling_price | +------+-------+--------+--------+-------+------+---------------+ | s | s | ss | 100.10 | 2 | 3 | 102.10 | +------+-------+--------+--------+-------+------+---------------+ 1 row in set (0.00 sec)