สามารถสร้าง Virtual Generated Columns หลายคอลัมน์ในตารางเดียวได้ โดยแต่ละคอลัมน์มีนิพจน์คำนวณของตัวเอง
ตัวอย่าง: ตาราง profit พร้อม 2 Virtual Generated Columns
mysql> CREATE TABLE profit(
cost INT,
price INT,
profit INT AS (price - cost),
price_revised INT AS (price - 2)
);
Query OK, 0 rows affected (0.73 sec)
mysql> DESCRIBE profit;
+---------------+---------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------------------+
| cost | int(11) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| profit | int(11) | YES | | NULL | VIRTUAL GENERATED |
| price_revised | int(11) | YES | | NULL | VIRTUAL GENERATED |
+---------------+---------+------+-----+---------+-------------------+
ทดสอบเพิ่มข้อมูล
mysql> INSERT INTO profit(cost, price) VALUES(100, 110); Query OK, 1 row affected (0.04 sec) mysql> INSERT INTO profit(cost, price) VALUES(200, 220); Query OK, 1 row affected (0.04 sec) mysql> SELECT * FROM profit; +------+-------+--------+---------------+ | cost | price | profit | price_revised | +------+-------+--------+---------------+ | 100 | 110 | 10 | 108 | | 200 | 220 | 20 | 218 | +------+-------+--------+---------------+
สรุป: กำหนด Generated Columns หลายตัวได้ใน CREATE TABLE เดียวกัน แต่ละตัวคำนวณอิสระ ไม่ใช้พื้นที่ดิสก์ (Virtual) คำนวณตอน SELECT