Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich NULL-Fragen-IDs in einer Datenbanktabelle mithilfe einer zugehörigen Tabelle?

Wie aktualisiere ich NULL-Fragen-IDs in einer Datenbanktabelle mithilfe einer zugehörigen Tabelle?

Barbara Streisand
Freigeben: 2025-01-10 06:48:46
Original
544 Leute haben es durchsucht

How to Update NULL QuestionIDs in a Database Table Using a Related Table?

Datenbanktabellenaktualisierung: Spalten mit referenzierten Werten ausrichten

Ihre Frage bezieht sich auf die Aktualisierung einer Datenbanktabelle, in der die QuestionID-Spalte Nullwerte enthält. Sie möchten diese Nullwerte mit den entsprechenden QuestionID-Werten in einer zugehörigen Tabelle „Answers“ gleichsetzen, auf die durch die AnswerID-Spalte verwiesen wird.

Um dies zu erreichen, können Sie einen Inner Join nutzen. Die folgende Abfrage zeigt, wie:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;
Nach dem Login kopieren

Die Operation INNER JOIN stellt eine Verbindung zwischen Zeilen in den Tabellen QuestionTrackings und QuestionAnswers basierend auf übereinstimmenden AnswerID-Werten her. Dadurch können wir für jede Zeile in der QuestionTrackings-Tabelle auf den QuestionID-Wert aus der QuestionAnswers-Tabelle zugreifen.

Sie können der WHERE-Klausel zusätzliche Bedingungen hinzufügen, um die zu aktualisierenden Zeilen weiter einzugrenzen. Wenn Sie beispielsweise nur Zeilen aktualisieren möchten, bei denen QuestionID null und AnswerID kleiner als 500 ist:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL AND q.AnswerID < 500;
Nach dem Login kopieren

Es wird empfohlen, vor der Ausführung der Aktualisierung eine Vorschau der zu aktualisierenden Zeilen mithilfe einer Auswahlabfrage anzuzeigen, um die Genauigkeit sicherzustellen :

SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL;
Nach dem Login kopieren

Dies hilft Ihnen zu überprüfen, ob jeder AnswerID nur eine zugeordnete QuestionID zugeordnet ist, und mögliche Fehler während des Aktualisierungsprozesses zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich NULL-Fragen-IDs in einer Datenbanktabelle mithilfe einer zugehörigen 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