Kolom yang Dihasilkan adalah salah satu pendekatan yang baik untuk versi MySql yaitu 5.7.6 ke atas.
Ada dua jenis Kolom yang Dihasilkan:
- Virtual (default) - kolom akan dihitung dengan cepat saat rekaman dibaca dari tabel
- Disimpan - kolom akan dihitung ketika record baru ditulis/diperbarui dalam tabel
Kedua tipe tersebut dapat memiliki batasan NOT NULL, tetapi hanya Generated Column yang disimpan yang dapat menjadi bagian dari indeks.
Untuk kasus saat ini, kita akan menggunakan kolom tersimpan yang dihasilkan. Untuk mengimplementasikan, saya telah mempertimbangkan bahwa kedua nilai yang diperlukan untuk perhitungan ada dalam tabel
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);
jumlah akan secara otomatis muncul di tabel dan Anda dapat mengaksesnya secara langsung, juga perlu diketahui bahwa setiap kali Anda akan memperbarui salah satu kolom, jumlah juga akan diperbarui.