Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich in MySQL-UPDATE-Abfragen die Fehlermeldung „Tabelle wurde zweimal angegeben'?

Warum erhalte ich in MySQL-UPDATE-Abfragen die Fehlermeldung „Tabelle wurde zweimal angegeben'?

Mary-Kate Olsen
Freigeben: 2024-11-23 08:03:32
Original
613 Leute haben es durchsucht

Why Do I Get

Fehler: „Tabelle wird zweimal angegeben, sowohl als Ziel für ‚UPDATE‘ als auch als separate Quelle für Daten“

Beim Ausführen von MySQL-Abfragen, die eine Aktualisierung erfordern Wenn Sie in derselben Abfrage auf eine Tabelle verweisen und diese als Datenquelle referenzieren, tritt möglicherweise die Fehlermeldung „Tabelle wurde zweimal angegeben“ auf. Dieser Fehler tritt auf, wenn dieselbe Tabelle sowohl das Ziel der UPDATE-Anweisung ist als auch als separate Tabelle in der Unterabfrage erscheint, die zur Bestimmung der Aktualisierungskriterien verwendet wird.

Um diesen Fehler zu beheben und die gewünschte Tabelle erfolgreich zu aktualisieren, befolgen Sie diese Schritte Schritte:

  1. Unterabfrage extrahieren: Identifizieren Sie die Unterabfrage in der UPDATE-Anweisung, die das Problem verursacht. Im bereitgestellten Beispiel lautet die Unterabfrage:
SELECT m2.branch_id FROM manager AS m2 WHERE (m2.branch_id, m2.year) IN (...)
Nach dem Login kopieren
  1. Erstellen Sie eine abgeleitete Tabelle: Erstellen Sie eine abgeleitete Tabelle, indem Sie die Unterabfrage in eine andere SELECT-Anweisung einschließen und eine zuweisen Alias ​​dazu. Dadurch können Sie auf die Unterabfrage verweisen, ohne die Managertabelle zweimal explizit anzugeben.
SELECT * FROM (SELECT m2.branch_id FROM manager AS m2 WHERE (m2.branch_id, m2.year) IN (...)) AS subquery
Nach dem Login kopieren
  1. Abgeleitete Tabelle verwenden: Ersetzen Sie die ursprüngliche Unterabfrage durch die abgeleitete Tabelle in der UPDATE-Anweisung.
UPDATE manager
SET status = 'Y'
WHERE branch_id IN (
    SELECT branch_id
    FROM subquery
);
Nach dem Login kopieren

Durch die Verwendung einer abgeleiteten Tabelle vermeiden Sie die Angabe der Managertabelle als Ziel und Datenquelle, wodurch der Fehler „Tabelle wurde zweimal angegeben“ behoben wird. Diese Technik stellt sicher, dass die Unterabfrage nur einmal referenziert wird und ermöglicht die erfolgreiche Ausführung der UPDATE-Anweisung.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL-UPDATE-Abfragen die Fehlermeldung „Tabelle wurde zweimal angegeben'?. 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