Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การสร้าง Virtual Generated Columns หลายคอลัมน์ใน MySQL ด้วย CREATE TABLE

สามารถสร้าง 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