0

私は準備されたステートメントでそのようなことをしようとしています:

UPDATE table SET active = ?, last_action = IF(VALUES(active) > 0, NOW(), last_action) WHERE id = ?

だから私は SET active = で設定している値にアクセスしようとしています ? 同じクエリで。

ただし、VALUES(active) は active = ? の値を表していないようです。値が INSERT INTO [...] VALUES [...] ON DUPLICATE KEY UPDATE ... ステートメントの一部である場合のように、これを機能させる方法はありますか?

可能な解決策: IF(? > 0, NOW(), last_action) のような別のパラメーターを追加し、アクティブな = ? と同じ値に設定します。パラメータ。

同じ値を別のパラメーターにバインドする必要のない、より良い解決策はありますか?

4

0 に答える 0