MySQL 5 中的计算/生成列

Ami*_*min 3 mysql mysql-5 computed-column

如何在 MySQL 版本 5 中创建带有公式列的表?

例如:我有一个名为 的表Product,它有 5 列:

id int,
amount int,
sold_out int,
faulty int,
remain_amount is (amount-(sold_out+faulty))
Run Code Online (Sandbox Code Playgroud)

我不会使用触发器或视图。

我正在寻找类似于在 SQL Server 中称为计算列的解决方案。

aku*_*sky 7

等待支持生成字段的 5.7

mysql> CREATE TABLE sales ( 
    -> name VARCHAR(20),  
    -> price_eur DOUBLE,
    -> amount INT,
    -> total_eur DOUBLE AS (price_eur * amount),
    -> total_usd DOUBLE AS (total_eur * xrate),
    -> xrate DOUBLE);
Query OK, 0 rows affected (0,16 sec)
Run Code Online (Sandbox Code Playgroud)

http://mysqlserverteam.com/generated-columns-in-mysql-5-7-5/

或者使用 MariaDB,其中虚拟/计算列现在正在工作。这些是MySQL 5.7中的测试版功能。