As in many databases, i am designing a database that should keep record of previous versions of the rows changed in each table.
The standard solution to this problem is
The main limitation that comes to my mind is that a substantial portion of your table will be history data, which means indexing concerns and potentially introducing additional complexity into your CRUD queries.
Is there some particular reason you don't want to use what seems to be the usual solution to this situation?