Jaka jest różnica międzyJaka jest różnica między = i: = w mysql?
set test_var = 20;
i
set test_var:=20;
jak oboje wydają się przypisać wartość?
Jaka jest różnica międzyJaka jest różnica między = i: = w mysql?
set test_var = 20;
i
set test_var:=20;
jak oboje wydają się przypisać wartość?
Obaj są operatory przypisania ale jedno mogę znaleźć ich różnic jest to, że =
może być stosowany do wykonywania logiczną operację :=
nie może.
ważny: SUM (val = 0)
Nieprawidłowy: SUM (val: = 0)
Jeszcze jedno, Można również przypisać wartość do zmiennej użytkownika w instrukcje inne niż SET. W tym przypadku operator przypisania musi być: = i nie =, ponieważ ten drugi jest traktowany jako operator porównania = w instrukcjach innych niż SET.
mysql> SET @t1=1, @t2=2, @t3:=4;
mysql> SELECT @t1, @t2, @t3, @t4 := @[email protected][email protected];
+------+------+------+--------------------+
| @t1 | @t2 | @t3 | @t4 := @[email protected][email protected] |
+------+------+------+--------------------+
| 1 | 2 | 4 | 7 |
+------+------+------+--------------------+
Jest to bardziej lub mniej cukru syntaktyczna.
Spójrz here
Najważniejszą różnicą jest
przeciwieństwie = The: = operator nie jest interpretowany jako operator porównania . Oznacza to, że możesz użyć: = w dowolnej poprawnej instrukcji SQL (nie tylko w instrukcjach SET), aby przypisać wartość do zmiennej.
można używać tylko: = dla przypisania - nie do porównania. To tylko trochę syntaktycznego cukru, tak naprawdę nie zmienia to w ogóle funkcjonalności. Przekonasz się o tym dużo w wygenerowanym kodzie SQL.
Dang, wszyscy mnie do tego biją. Hah. – antinescience