如何在具有 CREATE TABLE 語句的 MySQL 表中生成多個虛擬 GENERATED COLUMNS?


在 MySQL 表中新增多個虛擬生成的列完全可行。如下所示,可以使用以下示例進行說明 -

示例

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)

更新時間:2020-06-22

218 次瀏覽

為你的 職業 注入動力

完成課程以獲得認證

開始
廣告