猿问

如何在 sql 行中已提供的值中添加新值

我希望代码能够正常工作,以便当用户赚取金额时应将其添加到表中,例如,添加后应包含用户金额+ 赚取Paid


我的代码当前在每个声明上添加一个新行,但如果表中已有 a,我希望更新用户的余额。address


示例:用户余额为 15.2,他们赚取了 2.3,此余额应更新为 17.5


$address = trim($_POST["address"]);

$q = $sql->prepare("INSERT INTO ".$dbtable_prefix."Paid

                    SET

                        `address` = ?,

                        `amount` = ?

                        ;");

$claimlog_reward = $reward;

if ($reward<1) {

    $claimlog_reward = number_format($reward, 8, '.', '');

}

$

q->execute(array(trim($_POST['address']), $claimlog_reward));


白衣染霜花
浏览 118回答 1
1回答

qq_花开花谢_0

我将假设MySQL / MariaDB - 添加更新(前提是您的地址是主键)ON DUPLICATE KEY$address = trim($_POST["address"]);$claimlog_reward = $reward;if ($reward<1) {&nbsp; $claimlog_reward = number_format($reward, 8, '.', '');}$q = $sql->prepare("INSERT INTO ".$dbtable_prefix."PaidSET `address` = :address, `amount` = :amountON DUPLICATE KEY UPDATE amount = amount + :amount");$q->bindValue(':address', trim($_POST['address']));$q->bindValue(':amount', $claimlog_reward);$q->execute();
随时随地看视频慕课网APP
我要回答