我正在尝试将数字添加到MySQL表中已有的数字中。我正在使用POST来传递号码。
<?php
require "connection.php";
$id = $_POST["id"];
$number = $_POST["number"];
我是否必须进行2个单独的查询,一个用于检索当前值并将set设置为变量,另一个用于通过将数字添加到变量来插入新值,或者我可以使用一个类似的查询来完成此操作:
$update_query = "update Table set value = (value + $number) where id like '$id';"
答案 0 :(得分:4)
是的,您可以使用一个查询UPDATE tbl_name SET value_col = value_col + :number WHERE id = :id
备注的
ID是唯一的,因此您需要id = :id
才能实现更快的查询并且只更新一个字段。
使用预准备语句而不是直接将值放入查询
答案 1 :(得分:1)
更新字段以向现有值添加值:
UPDATE table SET value = value + $number WHERE id = $id;
更新字段以将值与现有值联系:
使用CONCAT功能:
UPDATE table SET value= CONCAT('$number',value) WHERE id=$id;