我有两个表,分别是logs
和balance
。
table: logs
------------------------------------
| id | name | time | amount |
| 1 | John | 5:10PM | 6000 |
table: balance
--------------
| id | balance|
| 1 | 6000 |
这是我的桌子的样子。
我想要的是在这两个表中插入金额和余额,插入后我也可以更新余额,如果我要添加更多的金额。但是我当前代码的问题就像例如我用当前ID或登录用户添加了6000,然后在我再次添加金额后,余额也将添加另一行和一列。我需要的是,当我添加其他金额时,余额会更新,并且在我更改其他用户登录后,如果我添加一些金额并且如果我再次添加金额,则余额将再次更新。谢谢
简而言之,输出应如下所示
table: logs
------------------------------------
| id | name | time | amount |
| 1 | John | 5:10PM | 6000 |
| 1 | John | 5:49PM | 3000 |
| 2 | Patrick | 6:10PM | 2000 |
table: balance
--------------
| id | balance|
| 1 | 9000 |
| 2 | 2000 |
我的代码:
//查询插入QR信息
$qrQuery4 = "INSERT INTO qrlogs (time_scan,qr_amount,balance) VALUES (NOW(),'$txtQrvalue','$txtQrvalue')";
$qrQuery_run4 = mysqli_query($connection,$qrQuery4);
//END
**//QUERY TO INSERT TWO**
$qrQuery5 = "INSERT INTO balance (balance) VALUES ('$txtQrvalue')";
$qrQuery_run5 = mysqli_query($connection,$qrQuery5);
//END
//查询更新余额
$qrQuery3 = "UPDATE balance SET balance = " $txtQrvalue" WHERE id = '$id' ";
$qrQuery_run3 = mysqli_query($connection,$qrQuery3);
//END
答案 0 :(得分:1)
应该以编程方式检索可以通过编程方式检索的信息。不要复制数据,如果由于某些原因在logs
表中插入新条目时未能存储某些数据,则数据将被破坏。
SELECT l.id, SUM(l.amount) AS balance
FROM logs l
GROUP BY l.id;