我最近更新了phpmyadmin
,现在添加新列时,我有了一个名为Virtuality
的新选项。
[Virtuality]
>VIRTUAL
>STORED
这是什么用途以及何时应该使用?
答案 0 :(得分:17)
自动计算的列(例如:' age'列):
CREATE TABLE users
(
birth_year NUMBER(15,2)
, death_year NUMBER(15,2)
, age NUMBER(15,2) AS (death_year - birth_year)
);
答案 1 :(得分:1)
VIRTUAL:不存储列值,但在行数时会对其进行求值 在任何BEFORE触发器之后立即读取。虚拟列不需要 存储。 - MySQL参考
STORED:在插入或更新行时评估和存储列值。存储的列确实需要存储空间和 可以索引。 - MySQL参考
*如果未指定关键字,则默认为VIRTUAL。
https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html