Heim > Datenbank > MySQL-Tutorial > @variable vs. Variable in MySQL: Was ist der Unterschied?

@variable vs. Variable in MySQL: Was ist der Unterschied?

Barbara Streisand
Freigeben: 2025-01-21 13:52:11
Original
215 Leute haben es durchsucht

@variable vs. variable in MySQL: What's the Difference?

Vergleich der MySQL-Variablentypen: @variable und variable

MySQL bietet zwei Arten von Variablen: benutzerdefinierte Variablen und benutzerdefinierte Variablen auf Sitzungsebene. Letzteres beginnt mit dem @-Symbol (@variable), ersteres jedoch nicht (variable).

Benutzerdefinierte Variablen

Solche Variablen sind lose typisiert und behalten ihren Wert während der gesamten Sitzung. Sie werden außerhalb einer gespeicherten Prozedur mithilfe der SET-Anweisung erstellt. Zum Beispiel:

<code class="language-sql">SET @var = 1;</code>
Nach dem Login kopieren

Benutzerdefinierte Variablen auf Sitzungsebene

Im Gegensatz zu benutzerdefinierten Variablen sind diese Variablen nur in der aktuellen Sitzung sichtbar. Sie werden in gespeicherten Prozeduren deklariert und als Parameter übergeben. Zum Beispiel:

<code class="language-sql">CREATE PROCEDURE prc_test(var INT)
BEGIN
    DECLARE var2 INT;
    SET var2 = 1;
END;</code>
Nach dem Login kopieren

Hauptunterschiede

Der Hauptunterschied zwischen diesen beiden Variablentypen ist ihr Gültigkeitsbereich und die Art und Weise, wie sie initialisiert werden. Prozedurvariablen werden bei jedem Aufruf der Prozedur auf NULL neu initialisiert, während Variablen auf Sitzungsebene ihre Werte über Prozeduraufrufe hinweg beibehalten. Der folgende Codeausschnitt demonstriert dies:

<code class="language-sql">CREATE PROCEDURE prc_test()
BEGIN
    DECLARE var2 INT DEFAULT 1;
    SET var2 = var2 + 1;
    SET @var2 = @var2 + 1;
END;

SET @var2 = 1;</code>
Nach dem Login kopieren

Beispielausgabe:

var2 @var2
2 2
2 3
2 4

Wie Sie sehen können, wird var2 jedes Mal neu initialisiert, während @var2 Wertänderungen über Aufrufe hinweg akkumuliert.

Fazit

Das Verständnis des Unterschieds zwischen @variable und variable ist für eine effektive MySQL-Entwicklung von entscheidender Bedeutung. Es ermöglicht Ihnen, Variablen basierend auf ihrem Umfang und ihrem Initialisierungsverhalten angemessen zu verwalten und so die Effizienz und Genauigkeit des Codes sicherzustellen.

Das obige ist der detaillierte Inhalt von@variable vs. Variable in MySQL: Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage