Я использую присвоение переменной с помощью mysql и обнаружил странное поведение.
См. Этот запрос:
SET @v1=0;
SET @v2=0;
SELECT @v1, @v2
FROM MyTable table
WHERE (@v1:=@v2) is not null
AND (@v2:=2) is not null;
Я думал, что условия анализируются в следующем порядке: сначала (@v1:=@v2) is not null
и после (@v2:=2) is not null
и так должен быть результат:
@v1 | @v2
---------
0 | 2
Но это не так.Попробуйте этот запрос, и вы получите:
@v1 | @v2
---------
2 | 2
Почему?