sql >> Databasteknik >  >> RDS >> Mysql

radera med att gå med i samma tabell

Även om manualen verkar föreslå att INNER JOIN-syntaxen ska fungera i en DELETE, jag vet att detta alternativ med join-satsen flyttats till where-villkoret skulle fungera...

DELETE  a.* FROM t1 AS a, t1 as b 
WHERE 
    a.some_field_b=b.some_field_b AND
    a.some_field_a = value_x AND 
    b.some_field_a = value_y

Edit:Jag provade precis det här, vilket fungerade för mig:

DELETE a FROM t1 AS a 
INNER JOIN t1 as b USING(some_field_b) 
WHERE 
    a.some_field_a = value_x AND 
    b.some_field_a = value_y



  1. Returnerar rankade sökresultat med ginindex med sqlalchemy

  2. Hur man optimerar enorma frågor med upprepade underfrågor

  3. Hur man tar bort ett SQL Server Agent-jobb i Azure Data Studio

  4. Hur kan jag använda ADO.NET DbProviderFactory med MySQL?