select @code:= SUM(field1 + field2), @code+1 from abc;
ただし、次の点に注意してください(MySQL5.6からドキュメント ):
原則として、SETステートメント以外では、ユーザー変数に値を割り当てたり、同じステートメント内の値を読み取ったりしないでください。たとえば、変数をインクリメントするには、これで問題ありません:
SET @a = @a + 1;
SELECTなどの他のステートメントの場合、期待どおりの結果が得られる可能性がありますが、これは保証されません。次のステートメントでは、MySQLが最初に@aを評価し、次に割り当てを行うと考えるかもしれません。
SELECT @a, @a:[email protected]+1, ...;
ただし、ユーザー変数を含む式の評価の順序は定義されていません。
したがって、自己責任で使用してください。