Разница между ":=" и "=" в 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*
использованная литература: