you could assign each record a date which would mean the date the record was created. you then have a choice.
select col_name where
date = ( select max(date)
that will return the latest/lastly added, record
or you could have an end date col as well as a start date col. when the file is created, the end date is set to 0000-00-00. if you add a new record to replace the current one, it would be assigned an end date of 0000-00-00 but the earlier record could be given a date of curdate() - 1.
So your current/live records have an end date of 0000-00-00
the archived/soft deleted have an end date < today.
benefits of this means you can have an archive of soft deletes going further back and of course the 'archive' will also have accidentally deleted items, which can be re-activated.
And if you would have loads of records in the table, you could split off the archived records into a new table of the same structure as the one you are using but, with the named archived in it somewhere
you can re-instate accidentally deleted files/records
you can re-activate any one of numerous previous records without the need to re-enter them