BŁĄD 1093 (HY000): Nie można określić tabeli docelowej „a” do aktualizacji w klauzuli FROM

Mam to zapytanie

UPDATE trh_adminLoginDate SET superseded = true WHERE EXISTS 
 (SELECT * FROM trh_adminLoginDate AS a2 WHERE a2.adminId = a.adminId AND a2.loginDate > a.loginDate AND a2.clientPlatform = a.clientPlatform)

a stół wygląda tak.

+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| id             | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| dateCreated    | datetime     | NO   |     | NULL    |                |
| version        | int(11)      | NO   |     | NULL    |                |
| dateModified   | datetime     | NO   |     | NULL    |                |
| adminId        | bigint(20)   | NO   | MUL | NULL    |                |
| clientPlatform | varchar(255) | YES  |     | NULL    |                |
| loginDate      | datetime     | YES  |     | NULL    |                |
| superseded     | tinyint(1)   | NO   |     | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+

Po wykonaniu tego zapytania otrzymuję następujący błąd:

ERROR 1093 (HY000): You can't specify target table 'a' for update in FROM clause

Mogę utworzyć tabelę tymczasową i zachować wynik zapytania podrzędnego, a następnie wykonać aktualizację. Ale nie chcę tego robić w ten sposób. Czy ktoś może zasugerować mi lepszy sposób na to?

questionAnswers(2)

yourAnswerToTheQuestion