Heim >Datenbank >MySQL-Tutorial >Einführung in die Einschränkungen der „Delete from Where'-Unterabfrage in MySQL
Dieser Artikel bietet Ihnen eine Einführung in die Einschränkungen beim Löschen von Where-Unterabfragen. Ich hoffe, dass er Ihnen weiterhilft .
1. Wenn Sie MySQL zum Ausführen des Löschvorgangs verwenden und die FROM-Klausel der Unterabfrage und das Aktualisierungs-/Löschobjekt dieselbe Tabelle verwenden, tritt ein Fehler auf. (Verwandte Empfehlungen: MySQL-Tutorial)
mysql> DELETE FROM 'tab' where id in (select min(id) from tag GROUP BY field1,field2 HAVING COUNT(id)>1 );
Fehler: Sie können die Zieltabelle „tab“ für die Aktualisierung in der FROM-Klausel nicht angeben. „Diese Einschränkung kann in den meisten Fällen durch Hinzufügen einer zusätzlichen Ebene ausgewählter Aliastabellen behoben werden, wie hier
DELETE FROM 'tab' where id in ( select id from ( select max(id) from 'tab' GROUP BY field1,field2 HAVING COUNT(id)>1 ) ids );
2.Aus Tabelle löschen... Die Tabelle kann keine Aliase verwenden
Das obige ist der detaillierte Inhalt vonEinführung in die Einschränkungen der „Delete from Where'-Unterabfrage in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!