Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tạo nhiều cột GENERATED COLUMNS ảo (VIRTUAL) trong MySQL với CREATE TABLE

Hoàn toàn có thể thêm nhiều cột tạo ảo (virtual generated columns) trong một bảng MySQL. Chúng ta minh họa qua ví dụ sau:

Ví dụ

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 |
+---------------+---------+------+-----+---------+-------------------+
4 rows in set (0.00 sec)
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           |
+------+-------+--------+---------------+
2 rows in set (0.00 sec)