MySQL生成的列有哪些不同类型?

我们有两种类型的MYSQL生成的列,如下所示-

虚拟生成列

顾名思义,这种生成的列将不占用任何磁盘空间。它可以在使用或不使用关键字“ virtual”的情况下生成。要理解,我们在以下示例中进行说明-

示例

mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB)));

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> Create table triangle_stored(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB)) STORED);

mysql> Describe triangle_stored;

+-------+--------+------+-----+---------+------------------+

| Field | Type   | Null | Key | Default | Extra            |

+-------+--------+------+-----+---------+------------------+

| SideA | double | YES  |     | NULL    |                  |

| SideB | double | YES  |     | NULL    |                  |

| SideC | double | YES  |     | NULL    | STORED GENERATED |

+-------+--------+------+-----+---------+------------------+

3 rows in set (0.00 sec)

上面的描述表明,列SideC是存储的生成列。

以上是 MySQL生成的列有哪些不同类型? 的全部内容, 来源链接: utcz.com/z/351508.html

回到顶部