Einführung
Das Aktualisieren mehrerer Zeilen mit unterschiedlichen Werten kann eine Herausforderung sein, insbesondere bei komplexen WHERE-Bedingungen. Ziel dieses Artikels ist es, diesen Prozess zu vereinfachen, indem die beiden am häufigsten verwendeten Methoden ausführlich erläutert werden: Abfragen mit mehreren Anweisungen und bedingte Aktualisierungen.
Methode 1: Abfrage mit mehreren Anweisungen
Abfragen mit mehreren Anweisungen ermöglichen es Ihnen, mehrere UPDATE-Befehle in einer Abfrage auszuführen. Obwohl diese Methode einfach und unkompliziert ist, kann sie bei großen Datenmengen unhandlich werden. Das von Ihnen bereitgestellte Beispiel kann wie folgt implementiert werden:
<code class="language-sql">UPDATE table_users SET cod_user = '622057', date = '12082014' WHERE user_rol = 'student' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '2913659', date = '12082014' WHERE user_rol = 'assistant' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '6160230', date = '12082014' WHERE user_rol = 'admin' AND cod_office = '17389551';</code>
Methode 2: Bedingte Aktualisierung mit CASE-Anweisung
Bedingte Aktualisierungen ermöglichen es Ihnen, basierend auf Bedingungen unterschiedliche Werte auf verschiedene Zeilen anzuwenden. Das von Ihnen angegebene Beispiel könnte wie folgt umformuliert werden:
<code class="language-sql">UPDATE table_users SET cod_user = CASE WHEN user_role = 'student' THEN '622057' WHEN user_role = 'assistant' THEN '2913659' WHEN user_role = 'admin' THEN '6160230' END, date = '12082014' WHERE user_role IN ('student', 'assistant', 'admin') AND cod_office = '17389551';</code>
Diese Methode ist effizienter als Abfragen mit mehreren Anweisungen, insbesondere bei großen Datenmengen. Es bietet außerdem eine sauberere und klarere Möglichkeit, mehrere Datensatzzeilen zu aktualisieren.
Hinweis:
Speichern Sie Daten unbedingt in einem konsistenten, datenbankeigenen Format, um potenzielle Probleme zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich effizient mehrere MySQL-Zeilen mit unterschiedlichen Werten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!