Mysql
 sql >> Database >  >> RDS >> Mysql

Cosa significa l'operatore :=in MySQL?

In MySQL, := è un operatore di assegnazione:

SELECT @foo := 'bar';    // variable 'foo' now has value 'bar'
return value: 'bar'

mentre = è un test di uguaglianza:

SELECT @foo = 'hi mom'; // does variable 'foo' have the value 'hi mom';
return value: false   ('bar' == 'hi mom' -> false)

Nota che puoi eseguire sia il test di uguaglianza che l'assegnazione con set domande:

SET @foo = 'bar' = 'baz';

che causerà @foo da assegnare false , il risultato booleano di 'bar' = 'baz' . Viene eseguito come segue:

SET @foo = ('bar' = 'baz');
SET @foo = false;