Dans MySQL, :=
est un opérateur d'affectation :
SELECT @foo := 'bar'; // variable 'foo' now has value 'bar'
return value: 'bar'
tandis que =
est un test d'égalité :
SELECT @foo = 'hi mom'; // does variable 'foo' have the value 'hi mom';
return value: false ('bar' == 'hi mom' -> false)
Notez que vous POUVEZ faire à la fois des tests d'égalité ET des affectations avec set
requêtes :
SET @foo = 'bar' = 'baz';
ce qui causera @foo
à attribuer false
, le résultat booléen de 'bar' = 'baz'
. Il s'exécute comme suit :
SET @foo = ('bar' = 'baz');
SET @foo = false;