sql >> Databáze >  >> RDS >> Mysql

MySQL | V klauzuli FROM nemůžete určit cílovou tabulku 'a' pro aktualizaci

Nemůžete odstranit z tabulky a odkazovat na stejnou tabulku v dílčím dotazu – pouze omezení MySQL. Něco jako následující by mělo fungovat:

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' 

Důležitou součástí je USING . Pokud tyto dvě tabulky pouze spojíte, smažete záznamy z obou. USING říká MySQL, aby použila tyto tabulky ke zpracování, ale pouze smazala z tabulek v FROM doložka.

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



  1. DBMS_SCHEDULER Příklad spuštění úlohy každou hodinu

  2. Žádná forma ukládání do mezipaměti databáze ke snížení duplicitních databázových dotazů.

  3. Paralelní volání v PL/SQL

  4. mysqld:Nelze změnit dir na data. Server se nespustí