Heim > Datenbank > MySQL-Tutorial > Wie lösche ich Zeilen in MySQL mithilfe einer Unterabfrage ohne Syntaxfehler?

Wie lösche ich Zeilen in MySQL mithilfe einer Unterabfrage ohne Syntaxfehler?

Mary-Kate Olsen
Freigeben: 2025-01-10 18:06:43
Original
844 Leute haben es durchsucht

How to Delete Rows in MySQL Using a Subquery Without Syntax Errors?

Lösen Sie den Syntaxfehler geschickt, wenn die MySQL-Unterabfrage Zeilen löscht

Bei der Verwendung einer Unterabfrage als Bedingung zum Löschen von Zeilen in MySQL kann ein Syntaxfehler auftreten. Dieser Fehler tritt normalerweise auf, wenn die Zieltabelle des Löschvorgangs (hier term_hierarchy) auch in der Unterabfrage referenziert wird.

Um dieses Problem zu lösen, ist ein alternativer Ansatz erforderlich. Die folgende Abfrage bietet eine effiziente Problemumgehung:

<code class="language-sql">DELETE th.*
FROM term_hierarchy AS th
WHERE th.parent = 1015
AND th.tid IN (
    SELECT DISTINCT(th1.tid)
    FROM (SELECT tid FROM term_hierarchy WHERE parent = 1015) AS th1
    INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid)
    WHERE th2.parent != 1015
);</code>
Nach dem Login kopieren

In dieser Abfrage wird die Unterabfrage, die zur Identifizierung der zu löschenden tid-Werte verwendet wird, in eine zusätzliche Unterabfrage (hier th1 genannt) eingeschlossen. Dadurch kann MySQL die Verwendung der DELETE-Tabelle sowohl in der WHERE IN- als auch in der term_hierarchy-Klausel vermeiden und so den Syntaxfehler beheben.

Das obige ist der detaillierte Inhalt vonWie lösche ich Zeilen in MySQL mithilfe einer Unterabfrage ohne Syntaxfehler?. 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