如何在mysql中找到生成的列定义

hwamh0ep  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(446)

我在testemployees数据库的palars表中添加了一个虚拟生成的列,如下所示:

ALTER TABLE salaries
    ADD COLUMN salary_k int AS (salary / 1000);

现在当我询问 INFORMATION_SCHEMA.COLUMNS 这个 EXTRA 列显示 VIRTUAL GENERATED 如预期的那样,但是如何获得生成列的详细信息,即在本例中 (salary / 1000) ? COLUMN_DEFAULT 显示 NULL . SHOW CREATE TABLE salaries 显示结果中的详细信息,但我希望结果作为 INFORMATION_SCHEMA ,所以这对我不起作用。

6mzjoqzu

6mzjoqzu1#

在房间里 GENERATION_EXPRESSIONINFORMATION_SCHEMA.COLUMNS .
根据文件: GENERATION_EXPRESSION 对于生成的列,显示用于计算列值的表达式。

nnsrf1az

nnsrf1az2#

下面是一个更实际的答案:

SELECT column_name, generation_expression
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'salaries'

相关问题