sql >> Databasteknik >  >> RDS >> Mysql

MySQL | Du kan inte ange måltabell 'a' för uppdatering i FROM-satsen

Du kan inte ta bort från en tabell och referera till samma tabell i en underfråga - bara en begränsning av MySQL. Något i stil med följande borde fungera:

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' 

Den viktiga delen är USING . Om du bara går med i de två tabellerna kommer du att radera poster från båda. USING säger åt MySQL att använda dessa tabeller för bearbetning, men bara ta bort från tabellerna i FROM klausul.

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



  1. Kör en PostgreSQL .sql-fil med kommandoradsargument

  2. anpassat php-forum - visar nya/olästa inlägg

  3. MySQL Data - Bästa sättet att implementera personsökning?

  4. CTE för att få alla barn (ättlingar) till en förälder