Сгенерированный столбец - один из подходов для версии MySql версии 5.7.6 и выше.
Существует два вида сгенерированных столбцов:
- Виртуальный (по умолчанию) - столбец будет вычислен на лету при чтении записи из таблицы
- Сохранено- столбец будет вычисляться при записи / обновлении новой записи в таблице
Оба типа могут иметь ограничения NOT NULL, но только сохраненный сгенерированный столбец может быть частью индекса.
Для текущего случая мы будем использовать сохраненный сгенерированный столбец.Для реализации я считал, что оба значения, необходимые для расчета, присутствуют в таблице
CREATE TABLE order_details (price DOUBLE, quantity INT, amount DOUBLE AS (price * quantity));
INSERT INTO order_details (price, quantity) VALUES(100,1),(300,4),(60,8);
сумма автоматически появится в таблице, и вы можете получить к ней доступ напрямую, также обратите внимание, что при каждом обновлении любого изстолбцы, сумма также будет обновляться.