Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich eine NULL-Spalte in einer Tabelle mithilfe von Daten aus einer verwandten Tabelle?

Wie aktualisiere ich eine NULL-Spalte in einer Tabelle mithilfe von Daten aus einer verwandten Tabelle?

Patricia Arquette
Freigeben: 2025-01-10 10:03:44
Original
159 Leute haben es durchsucht

How to Update a NULL Column in One Table Using Data from a Related Table?

Aktualisierung der Datenbankspalten: Abgleich von Werten in verwandten Tabellen

Die Datenbankverwaltung erfordert häufig die Aktualisierung einer Spalte in einer Tabelle basierend auf Daten aus einer zugehörigen Tabelle. Dies ist entscheidend für die Datenintegrität und Fehlerbehebungen.

Szenario:

Stellen Sie sich zwei Tabellen vor: QuestionTrackings und QuestionAnswers.

  • QuestionTrackings:
    • QuestionID (möglicherweise NULL)
    • AnswerID
  • QuestionAnswers:
    • AnswerID
    • QuestionID

Ein Fehler hat dazu geführt, dass einige QuestionTrackings Zeilen NULL-QuestionID-Werte haben. Glücklicherweise haben die entsprechenden AnswerID-Werte die richtigen QuestionID in der QuestionAnswers-Tabelle. Die Aufgabe besteht darin, die fehlenden QuestionID-Werte in QuestionTrackings.

aufzufüllen

Lösung:

Dies kann mithilfe einer UPDATE-Anweisung in Kombination mit einem INNER JOIN:

effizient erreicht werden
<code class="language-sql">UPDATE QuestionTrackings AS q
INNER JOIN QuestionAnswers AS a
ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;</code>
Nach dem Login kopieren
  • Das INNER JOIN verknüpft Zeilen mit passenden AnswerID Werten.
  • SET q.QuestionID = a.QuestionID aktualisiert QuestionTrackings mit dem richtigen QuestionID von QuestionAnswers.
  • WHERE q.QuestionID IS NULL beschränkt die Aktualisierung auf Zeilen mit fehlenden QuestionID Werten.

Wichtige Hinweise:

  • Überprüfung: Bevor Sie die UPDATE-Anweisung ausführen, empfiehlt es sich, eine SELECT-Anweisung mit derselben JOIN-Anweisung zu verwenden, um eine Vorschau der Ergebnisse anzuzeigen und die Datengenauigkeit sicherzustellen. Bestätigen Sie, dass jedes AnswerID einem einzelnen QuestionID zugeordnet ist.
  • Bedingte Aktualisierungen:Zusätzliche WHERE-Klauselbedingungen können für selektivere Aktualisierungen hinzugefügt werden (z. B. WHERE q.QuestionID IS NULL AND q.Status = 'Active').

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine NULL-Spalte in einer Tabelle mithilfe von Daten aus einer verwandten Tabelle?. 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