4

カラムバランスを持つ mysql データベースがあります。このテーブルは、ユーザーの口座残高に関するデータを格納するために使用されます。mysql ステートメントに数値を追加するにはどうすればよいですか?

これが私がこれまでに持っているものです

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

a) mysql select クエリを使用して現在の残高を取得する必要がありますか? 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 関数など、問題が発生する可能性が低いものを使用して、PHPbalance + 5のデータ型の境界を超えていないことを確認するためのチェックを行うことができます。balance(文字列比較で指定された精度で計算します)

于 2012-07-29T04:50:56.880 に答える
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 に答える
2

あなたはこれを行うことができます:

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