MySQL 5.7 GENERATED ALWAYS 列定义为子查询

MySQL 5.7 GENERATED ALWAYS column defined as subquery

我的查询似乎找不到问题。我有四张桌子:

在mission_overview中有一列totalWeightInKG,我想通过选择equipment_taken.qty(即INT)和equipment_weight.equipWeightInKG(即FLOAT)来计算它, 并将它们相乘。

到目前为止我有这个列定义:

FLOAT GENERATED ALWAYS AS (SELECT qty, equpWeightInKG, (qty*equpWeightInKG) AS totalWeightInKG FROM equipment_taken, equipment_weight) STORED ;

我无法理解它...阅读有关 SELECT 查询和连接的文档,但似乎仍然无法提出正确的查询...

https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html 说:

Subqueries, parameters, variables, stored functions, and user-defined functions are not permitted.

要完成您想要做的事情,您必须在 INSERT 之前和 UPDATE 之前编写触发器以查询其他表并填充您的浮点列。