В MySQL, :=
е оператор на присвояване:
SELECT @foo := 'bar'; // variable 'foo' now has value 'bar'
return value: 'bar'
докато =
е тест за равенство:
SELECT @foo = 'hi mom'; // does variable 'foo' have the value 'hi mom';
return value: false ('bar' == 'hi mom' -> false)
Имайте предвид, че МОЖЕТЕ да извършвате както тестване на равенството, така и присвояване с set
запитвания:
SET @foo = 'bar' = 'baz';
което ще причини @foo
да бъде присвоен false
, булев резултат от 'bar' = 'baz'
. Изпълнява се както следва:
SET @foo = ('bar' = 'baz');
SET @foo = false;