4

我有一个具有列平衡的 mysql 数据库。该表用于存储用户账户余额的数据,那么如何在mysql语句中添加数字呢?

这是我到目前为止所拥有的

$sql_data = "UPDATE `database1`.`users` SET (`balance`) = '(what to put here?)'
WHERE ('" . $mysqlid . "') ";

所以我必须 a) 使用 mysql 选择查询检索当前余额吗?和b)我用什么将整数5添加到列平衡中,mysql行是double(16,2)

4

3 回答 3

3
$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance` + 5, (maximum_value_they_can_have)) WHERE ('" . $mysqlid . "') ";

编辑:

可以说,您可以使用不太可能遇到问题的东西(例如 bcmath 函数)进行检查,以验证是否balance + 5超出了PHP 中数据类型的范围。balance(通过字符串比较的给定精度进行数学运算)

于 2012-07-29T04:50:56.880 回答
2

你可以这样做:

$sql_data = "UPDATE `database1`.`users` SET `balance` = (`balance` + [value to be added]) WHERE ('" . $mysqlid . "') ";
于 2012-07-29T04:48:39.867 回答
2

试试这个 :

$bal=100.5;  // balance to be add
$sql_data = "UPDATE `database1`.`users` SET `balance` = (`balance`+'$bal')  WHERE ('" . $mysqlid . "') ";
于 2012-07-29T04:55:31.437 回答