0

How to recalculate a field on GROUP where I try to cheat the

ただし、ユーザー変数を含む式の評価順序は定義されていません。

次の方法でプラス演算子を使用して、ユーザー変数を呪います。

SELECT @a + LEAST(0, @a:= @a + 1)

LEAST / GREATESTもちろん、このような使い方は私の考えではありません。

プラス演算子の実行順序に関するドキュメントを見つけようとしましたが、不思議なことに、できません。Arithmetic Operatorsマニュアル ページには、このトピックに関するものは何もなく、Operator Precedenceもありません。それで、プラス演算は常に左から右に実行されますか、それとも未定義ですか?

4

1 に答える 1

-1

少し掘り下げると、この YACC スニペットを含むこのMySQL バグが見つかります (もちろん、実際のソース コード ツリーで見つけることができます。たとえば、こちら):

%left   '-' '+'

では行きましょう!文書化されていませんが、ソースは簡単に文書化されています。

于 2013-08-31T10:11:50.347 に答える