Question: I have a mysql table that I need to only contain 20 newest records before adding additional records.
New rows are added daily so I would like it first delete any records that are greater than the 20 allowed starting with the earliest.

The table contains an auto increment "id" column so I can easily determine which is the earliest records.

Thanks for any help.

Answer: 
With mysql 5 you cannot use an offset with on a delete statement.
Further reading here: <http://dev.mysql.com/doc/refman/5.0/en/delete.html>

I've managed to use the following technique to achieve preserving a set number of newest records.
[mySQL subquery limit](https://stackoverflow.com/questions/7124418/mysql-subquery-limit)
Why not to leave all records untouched?  

That's the database were invented for.
If you want to keep only newest data, you've probably need another storage, like memcache