Hallo
DELETE FROM tabelle
WHERE bei = 4 AND von = 1 AND besuch_zeit < (
SELECT MAX(besuch_zeit) FROM tabelle WHERE bei = 4 AND von = 1
)
#1093 - You can't specify target table 'tabelle' for update in FROM clause
Ist halt komisch das das mit LIMIT nicht funktioniert obwohl es logisch hoch drei ist :-(
Es ist logisch, dass beides nicht geht. Das steht auch ganz genauso im Handbuch:
a) Subselect
<zitat>
Currently, you cannot delete from a table and select from the
same table in a subquery.
</zitat>
b) LIMIT:
<zitat>
~~~sql
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
[...]
The MySQL-specific LIMIT row\_count option to DELETE tells the server
the maximum number of rows to be deleted before control is returned
to the client
</zitat>
Freundliche Grüße
Vinzenz