Kurz gesagt, wenn SET
Verwendung sie beide als Zuweisungsoperator, aber in allen möglichen nicht-Set-Anweisungen, :=
ist für assingment und =
Kontrollen für Gleichheit.
Für SET kann entweder = oder: = als Zuweisungsoperator verwendet werden.
Sie können einer Benutzervariablen auch einen Wert in anderen Anweisungen als SET zuweisen. In diesem Fall muss der Zuweisungsoperator sein: = und nicht = da = als Vergleichsoperator in Nicht-SET-Anweisungen
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 |
+------+------+------+--------------------+
von MySQL 8.4 User Defined Variables
Scheint, es ist veraltet: mysql> @num: = 0; 'wird Fehler geben. – user198729
Ist das eine gültige MySQL-Anweisung? Können Sie solche Variablen definieren? –
Für alle, die diese Kommentare lesen, ist es nicht veraltet. Und danke @AnthonyForloney für die Verbreitung der Grundlagen. Deshalb liebe ich stackoverflow. – billynoah