I would create a PHP file which runs a delete statement on any records where the created date/time was greater than half an hour ago.
You can then run this on the cron however frequently you feel necessary.
For example, if entries could be created at any time, I would run the PHP script every minute or two.
If entries could be created only at half an hour intervals (E.g. 5.00, 5.30) then running the script at XX:01 and XX:31 would probably be sufficient.
The timing of running the script depends on at what times the database entries might be entered, and the required accuracy of deleting the row as close to half an hour after creation as possible.