MySQL-Update-Fall Update-Feldwert ist keine feste Operation

MySQL-Update-Fall Update-Feldwert ist keine feste Operation

Wenn bei der Verarbeitung von Batch-Updates bestimmter Daten die Werte der zu aktualisierenden Felder gleich sind, z. B. wenn ein bestimmter Status auf einen festen Wert aktualisiert wird,

Verwenden Sie einfach das Update-Tabellenset xxx=xxx, wobei xxx=xxx

Wenn der Wert des zu aktualisierenden Felds nicht festgelegt ist, ist es bequemer, bei der Where-Methode den folgenden Aktualisierungsfall zu verwenden:

UPDATE Tabellenname 
setze a1= CASE Benutzer-ID 
 Wenn 1, dann a1+5 
 WENN 2, DANN a1+2 
 ENDE,
a2= CASE Benutzer-ID 
 WENN 1, DANN a2-5 
 WENN 2, DANN a2-2
ENDE
wobei Benutzer-ID in (1,2)

Bei der Verwendung des Update-Cases „When“ müssen Sie unbedingt die Where-Bedingung einschließen, da sonst die gesamte Tabelle aktualisiert wird, was schwerwiegende Folgen haben kann.

Ergänzung: MySQL-Update && Case in Kombination mit Batch-Update

Direkter Code SQL:

Der Raumfeldwert hat das Format 18F-N01

UPDATE t_report SET Zimmer = CONCAT_WS( '-', SUBSTRING_INDEX(Zimmer, '-', 1) ,
 CASE SUBSTRING_INDEX(Zimmer, '-', -1) 
 WENN 'N01', DANN 'N02' 
 WENN 'N02', DANN 'N01'
 WENN 'N03', DANN 'N11'
 WENN 'N04', DANN 'N10'
 WENN 'N05', DANN 'N09'
 WENN 'N06', DANN 'N08'
 WENN 'N07', DANN 'N07'
 WENN 'N08', DANN 'N06'
 WENN 'N09', DANN 'N05'
 WENN 'N10', DANN 'N03'
 ENDE )
WO reiten IN ( 
 SELECT rid FROM t_report WHERE rdate = '190306' AND ordinal BETWEEN '23' AND '32'
)

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Praktisches MySQL + PostgreSQL Batch-Insert-Update insertOrUpdate
  • Unterschied zwischen MySQL-Update-Set und und
  • Nicht standardmäßiger Implementierungscode für die MySQL UPDATE-Anweisung
  • Zusammenfassung der gemeinsamen Updatemethode für MySQL-Updates mehrerer Tabellen
  • Erläuterung der MySQL-Transaktionsauswahl für die Aktualisierung und Datenkonsistenzverarbeitung
  • Eine "klassische" Falle der MySQL UPDATE-Anweisung

<<:  Was Sie beim Schreiben selbstschließender XHTML-Tags beachten sollten

>>:  Wie löst Vue das domänenübergreifende Problem des Axios-Request-Frontends?

Artikel empfehlen

Detaillierte Erläuterung der Vue Simple Notepad-Entwicklung

In diesem Artikelbeispiel wird der spezifische Co...

HTML-Tabellen-Tag-Tutorial (44): Tabellenkopfzeilen-Tag

<br />Um die Tabellenstruktur im Quellcode d...

So migrieren Sie das Datenverzeichnis in mysql8.0.20

Das Standardspeicherverzeichnis von MySQL ist /va...

MySQL-Abfrageanweisung nach Zeit gruppiert

MySQL-Abfrage nach Jahr, Monat, Woche, Tagesgrupp...

HTML+CSS+JavaScript zum Erstellen eines einfachen Tic-Tac-Toe-Spiels

Inhaltsverzeichnis Implementieren von HTML CSS hi...

MySQL Router implementiert MySQL Lese-/Schreibtrennung

Inhaltsverzeichnis 1. Einleitung 2. MySQL-Router ...

VUE+Canvas implementiert das Spiel God of Wealth und erhält Barren

Willkommen zur vorherigen Canvas-Spielserie: 《VUE...

CSS3 erzielt einen unendlichen Scroll-/Karusselleffekt der Liste

Effektvorschau Ideen Scrollen Sie durch die aktue...

Änderung und Abfrage von Python MySQL-Datenbanktabellen

Python stellt eine Verbindung zu MySQL her, um Da...

HTML-strukturierte Implementierungsmethode

DIV+CSS-Struktur Lernen Sie CSS-Layout? Sie beherr...

So fragen Sie die Schnittmenge von Zeiträumen in MySQL ab

Mysql-Abfragezeitraum-Schnittmenge Anwendungsszen...