列 取决于其他列


Column Depending on other column

>我创建了一个名为"members"的mysql表,其中付款和电子钱包是两列...我想制作ewallet列,以便在付款更新时自动更新。.规则将是ewallet=0.75*payment .怎么可能?

还有另一列"enroller_id",我通过它使用 PHP 函数计算左计数和右计数下行

function getTotalLeg($node,$leg){
$sql="select enrolled_id from members where enroller_id='$node' and tside='$leg' and active='1'";
$res=mysql_query($sql);
global $total;
$total=$total+mysql_num_rows($res);
$row=mysql_fetch_array($res);
 if($row['enrolled_id']!=''){
   getTotalLeg ($row['enrolled_id'],0);
   getTotalLeg ($row['enrolled_id'],1);
  }
return $total;
}

是否可以在数据库中计数?请详细帮助我。提前谢谢。

您可以使用generated columns(MySQL 5.7.6+):

生成的列的值是根据列定义中包含的表达式计算的。

生成的列定义具有以下语法:

col_name data_type [始终生成] 作为 (表达式) [虚拟 | 存储] [唯一 [键]] [注释注释] [[非] 空] [[主要] 键]

CREATE TABLE members(
   ...,
   ewallet DECIMAL(14,4) AS (0.75 * payment)
);