【问题标题】:update sum of columns in mysql table更新mysql表中的列总和
【发布时间】:2018-04-30 13:08:50
【问题描述】:

我有一个名为 resources 的表,其中包含以下列:

ress1 
ress2 
prod1 
prod2 

我已经尝试了以下链接中指示的代码,但我仍然卡住了......

How to find sum of multiple columns in a table in SQL Server 2005?

Auto update sum of rows & columns in a table

SQL How to Update SUM of column over group in same table

我想运行一个脚本到UPDATE ress1 = ress1 + prod1ress2。所以我想将列本身和相应列的总和更新为一列,对表中的每一行都这样做。

这里有一些代码对我来说似乎很容易,但不起作用......

$sql    = "SELECT * FROM ro_map";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_assoc($result)){
$new_a = $row['a'] + $row['c'];
$new_b = $row['b'] + $row['d'];

"UPDATE ro_map SET a = '$new_a',b = '$new_b'";
} 

啊...真的很抱歉,伙计们:D 我使用 mysql(带有 wampp 服务器和 HeidiSQL)。并且运行此代码不会给我任何错误( if($conn->$sql == TRUE) 会给我 TRUE... 解决了!太棒了,谢谢大家,我学到了一些东西:)

【问题讨论】:

  • 您实际使用的是哪个 DBMS?你能定义“不工作”吗?我们不知道那是什么意思。你有错误吗?结果错误?我会敦促您在访问 bobby 表之前查看参数化查询。 bobby-tables.com
  • 你应该区分MySQL和SQL Server;直到您正在处理一种产品但阅读另一种产品
  • 这种问题是设计不佳的表现

标签: php mysql sql


【解决方案1】:

我认为你过于复杂了。如果我理解正确,您可以在一笔交易中完成此操作:

Update    resources
Set       ress1 = ress1 + prod1,
          ress2 = ress2 + prod2

【讨论】:

  • OP 在应该使用单引号的地方使用单引号
  • @Strawberry 所以他们是......我不确定我昨天在看什么......感谢您指出这一点!
猜你喜欢
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
相关资源
最近更新 更多