title: Best way to create a history table for CRUD operations
body: <p>I asked myself what would be the best way to create a history table for a website, I'm only aware of two choices:</p>
  
  <ol>
  <li>Use triggers  </li>
  <li>Add an extra insert statement to the code when an insert/update/delete statement related to it is used</li>
  </ol>
  
  <p>They said that triggers would be a better way since the load would be on the database and not in the program. But since my website has multiple admins, I would also need to track who modified the content, which I think would only be possible by creating a <code>modified_by</code> column in the history table and manually insert values to it by inserting the session user to that column using the second option together with the <code>time_modified</code>, <code>modified_from</code>, <code>modified_to</code>values.</p>
  
  <p>I need to find out if would this be an acceptable reason to use the second option?  Are there any more options? Will the second option create any problems in the future?</p>