我們如何能夠使用 CREATE TABLE 語句在 MySQL 表中儲存多個生成的列?


完全可以向 MySQL 表中新增多個儲存的生成列。以下示例對此進行了說明:

示例

mysql> Create table profit1(cost int, price int, profit int AS (price-cost) STORED, price_revised int AS (price-2) STORED);
Query OK, 0 rows affected (0.36 sec)

mysql> Describe profit1;
+---------------+---------+------+-----+---------+------------------+
| Field         | Type    | Null | Key | Default | Extra            |
+---------------+---------+------+-----+---------+------------------+
| cost          | int(11) | YES  |     | NULL    |                  |
| price         | int(11) | YES  |     | NULL    |                  |
| profit        | int(11) | YES  |     | NULL    | STORED GENERATED |
| price_revised | int(11) | YES  |     | NULL    | STORED GENERATED |
+---------------+---------+------+-----+---------+------------------+
4 rows in set (0.00 sec)

mysql> Insert into profit1(Cost, Price) values(100,110);
Query OK, 1 row affected (0.09 sec)

mysql> Insert into profit1(Cost, Price) values(200,220);
Query OK, 1 row affected (0.09 sec)

mysql> Select * from profit1;
+------+-------+--------+---------------+
| cost | price | profit | price_revised |
+------+-------+--------+---------------+
| 100  | 110   | 10     | 108           |
| 200  | 220   | 20     | 218           |
+------+-------+--------+---------------+
2 rows in set (0.00 sec)

更新於: 22-Jun-2020

107 瀏覽量

啟動您的職業

透過完成課程獲得認證

開始使用
廣告