面试题答案
一键面试在MariaDB中定义虚拟列的语法格式如下:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
virtual_column_name datatype [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED]
);
示例:
CREATE TABLE employees (
id INT PRIMARY KEY,
basic_salary DECIMAL(10, 2),
bonus DECIMAL(10, 2),
total_salary DECIMAL(10, 2) GENERATED ALWAYS AS (basic_salary + bonus) VIRTUAL
);
上述示例中,total_salary
是一个虚拟列,它的值由 basic_salary
和 bonus
相加得出。GENERATED ALWAYS AS
表示该列是基于表达式生成的,VIRTUAL
表明这是一个虚拟列(值不实际存储,而是每次查询时计算)。如果使用 STORED
,则值会实际存储在表中。