sql >> Database >  >> RDS >> Mysql

MijnSQL | U kunt de doeltabel 'a' voor update niet specificeren in de FROM-clausule

U kunt niet uit een tabel verwijderen en naar dezelfde tabel verwijzen in een subquery - dit is slechts een beperking van MySQL. Iets als het volgende zou moeten werken:

DELETE FROM table_a 
USING table_a
INNER JOIN table_b
    ON table_a.code = table_b.code
    AND table_b.id = table_a.b_id
    AND table_b.table = 'testTable'
WHERE table_a.object_id = 1 
    AND table_a.code = 'code' 

Het belangrijkste is USING . Als u gewoon de twee tabellen samenvoegt, verwijdert u records van beide. USING vertelt MySQL om deze tabellen te gebruiken voor verwerking, maar alleen te verwijderen uit de tabellen in de FROM clausule.

http://dev.mysql.com/doc/refman/5.0 /en/delete.html



  1. php / Mysql beste boomstructuur

  2. Een gids voor database-automatisering met ClusterControl van verschillendenines

  3. Wufoo's databaseschema - Hoe zou je het ontwerpen?

  4. de eigenschap `diesel::Expression` is niet geïmplementeerd voor `bigdecimal::BigDecimal`