2016-08-12 11 views
1

SELECTの式の実行順序が常にの左からになるかどうかを知りたいです。SELECT文の式の実行順序

SET @a := 0; 

SELECT 
@a AS first, 
@a := @a + 1 AS second, 
@a := @a + 1 AS third, 
@a := @a + 1 AS fourth, 
@a := @a + 1 AS fifth, 
@a := @a + 1 AS sixth; 

上記のクエリでは常に次の出力が生成されますか?

first second third fourth fifth sixth 
    0  1  2  3  4  5 

答えて

2

しかし、 変数のユーザーを含む式の評価順序は未定義である

だからあなたの質問への答えは、何で、実行順序はありませんではありません保証される。

+0

参照Giorgosありがとう。おそらく私の次の質問は**になります**ユーザ変数を含む式の評価順序が未定義なのはなぜですか**: -/ –

+0

@AnonymousOne MySQL開発者にこのことを尋ねる必要があります。しかし、あなたの実際の問題は何ですか? –

+0

実際に問題は、いくつかのアプリケーションでmysqlユーザ変数を含むクエリを実行していることです。ユーザー変数を含む式の評価の順序は定義されていないので、あまりにも心配しています。 : –

0

はい、実行順序は設定されていませんので、常にこのように出力されます。 MySQL manualによると

+0

リンクをご提供いただけますか?もっと詳しく知りたい –

+0

ジョルゴスの答えを見てください。 –