I MySQL, :=
är en uppdragsoperatör:
SELECT @foo := 'bar'; // variable 'foo' now has value 'bar'
return value: 'bar'
medan =
är ett jämställdhetstest:
SELECT @foo = 'hi mom'; // does variable 'foo' have the value 'hi mom';
return value: false ('bar' == 'hi mom' -> false)
Observera att du KAN göra både likhetstester OCH uppdrag med set
frågor:
SET @foo = 'bar' = 'baz';
vilket kommer att orsaka @foo
som ska tilldelas false
, det booleska resultatet av 'bar' = 'baz'
. Det körs som följande:
SET @foo = ('bar' = 'baz');
SET @foo = false;