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

Wie aktualisiere ich eine Spalte in einer Tabelle mithilfe von Werten aus einer verwandten Tabelle?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-10 08:58:41825Durchsuche

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

Spalten mit Werten aus verwandten Tabellen aktualisieren

In diesem Artikel wird erläutert, wie eine Spalte in einer Tabelle (QuestionTrackings), deren Werte aus einer zugehörigen Tabelle (QuestionAnswers) stammen, basierend auf einer bestimmten Bedingung (QuestionID ist NULL) aktualisiert wird. Wir können dies mithilfe der UPDATE-Anweisung in Kombination mit INNER JOIN erreichen.

SQL-Abfrage:

<code class="language-sql">UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a
ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL
-- 可在此处添加其他条件</code>

Beschreibung:

  • Verwenden Sie INNER JOIN, um eine Verbindung zwischen zwei Tabellen basierend auf der gemeinsamen Spalte AnswerID herzustellen.
  • Bedingung q.QuestionID IS NULL stellt sicher, dass die Aktualisierung nur Zeilen in der QuestionTrackings-Tabelle betrifft, in denen QuestionID NULL ist.
  • Die
  • SET-Klausel aktualisiert die QuestionID-Spalte in der QuestionTrackings-Tabelle (q.QuestionID) mit der entsprechenden QuestionID aus der QuestionAnswers-Tabelle (a.QuestionID).

Hinweis:

Bevor Sie eine UPDATE-Abfrage ausführen, wird empfohlen, eine Vorschau der betroffenen Daten anzuzeigen. Dazu können Sie Ihre Abfrage so ändern, dass sie Folgendes enthält:

<code class="language-sql">SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a
ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL
-- 可在此处添加其他条件</code>

Dadurch werden die Zeilen angezeigt, die aktualisiert werden, und es wird bestätigt, dass jeder Antwort-ID nur eine zugeordnete Frage-ID zugeordnet ist, um Dateninkonsistenzen zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Spalte in einer Tabelle mithilfe von Werten aus einer verwandten Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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