I'm working on a MVC based web app on LAMP that needs some records to be modified only under the approval of a "superior" user. (The normal user can submit changes but they get applied only after this approval)

There are is only a table in which this would have to take place, say "events":

EVENTS
 - id
 - name VARCHAR
 - start\_date DATETIME
 - guest INTEGER

Every time one of the attributes of an events gets modified by a "normal" user, these changes are not made official until there's a revision (and possible approval) from this "super" user.

At first I though of the following options:

* Duplicating each columns, except the id, say name\_temp for "name", to hold the pending-approval modification.
* Creating a separate table with a duplicate structure and hold there all the pending approval modifications.

Have you implemented this before? What do you think is the best/your way to do this? And also: **Is there any pattern for this kind of problem?**

Thanks!!!

PD: I need to keep the "old" record where it was, until the new one gets approved..