So emulieren Sie IF ELSE-Anweisungen in MySQL-Abfragen
In MySQL werden IF ELSE-Anweisungen nicht nativ unterstützt. Mit dem CASE-Ausdruck können Sie jedoch eine ähnliche Funktionalität erreichen.
CASE-Ausdrücke verstehen
Der CASE-Ausdruck wertet eine Reihe von Bedingungen aus und gibt ein Ergebnis basierend auf der ersten Übereinstimmung zurück Zustand. Es hat die folgende Form:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
Beispiel
Um die IF ELSE-Anweisung in Ihrer Frage zu reproduzieren, würden Sie einen CASE-Ausdruck wie folgt verwenden:
SELECT col1, col2, (CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END) AS state FROM tbl1;
In dieser Abfrage:
Zugriff auf den zurückgegebenen Wert
Sobald die Abfrage ausgeführt wurde, können Sie auf den berechneten Wert in der Statusspalte des Ergebnissatzes zugreifen. In Ihrem Beispiel können Sie den folgenden Code verwenden:
$row['state'] // This should equal 1
Beachten Sie, dass diese Abfrage den Wert von state nur basierend auf den im CASE-Ausdruck angegebenen Bedingungen berechnet. Die Statusspalte in der Datenbank wird nicht aktualisiert.
Das obige ist der detaillierte Inhalt vonWie kann ich IF ELSE-Logik in MySQL-Abfragen simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!