0

このエラーの原因:

グループ関数の不適切な使用

エラーの原因となっているSQLコードは次のとおりです。

$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance` + 5) 
WHERE ('" . $session->value('user_id') . "') ";
4

4 に答える 4

1

GROUP BY集計関数には、句による集計が必要です。これがないと、クエリは無効になります。

于 2012-07-30T06:05:24.993 に答える
1

これを試して

$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance`) + 5  
WHERE ('" . $session->value('user_id') . "') "
于 2012-07-30T06:05:42.627 に答える
0

エラーが何であるかを知らずに、私はそれがMIN(balance + 5). MIN(balance) + 5つまり、MINは算術式ではなく、列名のみを使用する必要があります。

于 2012-07-30T06:06:35.230 に答える
0

これがあなたが探しているものだと思います:

UPDATE database1.users a
    INNER JOIN
        (SELECT id, MIN(balance)
         FROM database1.users
         WHERE user_id= ('" . $session->value('user_id') . "')
         GROUP BY id
        ) b
        ON a.id = b.id
WHERE user_id = ('" . $session->value('user_id') . "');
于 2012-07-30T06:08:22.733 に答える