MySQL 虚拟生成列如何使用数学表达式
可以通过示例来说明,在该示例中我们将在名为’triangle’的表中创建一个虚拟生成的列。我们知道虚拟生成的列可以在使用关键字“virtual”或不使用该关键字的情况下生成。
阅读更多:MySQL 教程
示例
mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB)));
Query OK, 0 rows affected (0.44 sec)
mysql> Describe Triangle;
+-------+--------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------------------+
| SideA | double | YES | | NULL | |
| SideB | double | YES | | NULL | |
| SideC | double | YES | | NULL | VIRTUAL GENERATED |
+-------+--------+------+-----+---------+-------------------+
3 rows in set (0.00 sec)
上面的描述显示SideC列是一个虚拟生成的列。
mysql> INSERT INTO triangle(SideA, SideB) Values(1,1),(3,4),(6,8);
Query OK, 3 rows affected (0.15 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> Select * from triangle;
+-------+-------+--------------------+
| SideA | SideB | SideC |
+-------+-------+--------------------+
| 1 | 1 | 1.4142135623730951 |
| 3 | 4 | 5.291502622129181 |
| 6 | 8 | 10.583005244258363 |
+-------+-------+--------------------+
3 rows in set (0.03 sec)