Разница между ":=" и "=" в MySQL

MySQL

Разница между ":=" и "=" в MySQL

=

  • Только в set и update он такой же, как :=, роль присваивания и остальные равны. По этой причине вы должны использовать := при реализации номеров строк с переменными.

:=

  • Не только роль присваивания в наборе и обновлении, но и роль присваивания в выборе.

* Ниже приведено сравнение эффектов := и = при выборе*

sql

set @num = 0;
SELECT @num := @num+1 AS rowno, nc as nickname from table_user;

результат

sql

set @num = 0;
SELECT @num = @num+1 AS rowno, nc as nickname from table_user;

результат

* @num не равно @num + 1, поэтому значение rowno равно 0*

sql

set @num = 0;
SELECT @num = @num AS rowno, nc as nickname from table_user;

результат

* @num равно @num, поэтому rowno равно 1*

использованная литература: