title: Creating separate table to keep track of a specific column using TIMESTAMP data type
body: <p>I've a mysql table which has two columns changes frequently.
  One is  "available"(mainly 0,1) &amp; the other is  "notification_preference".
  Now, I wanna create a "updated_at" column to keep track of of the changes of "available" column.</p>
  
  <p><strong>I've learnt that TIMESTAMP type updates automatically if a column of the corresponding row changes. I want to use "updated_at" column to keep track only of the "available" column.</strong></p>
  
  <p>So the question is, <strong>should I create a new table with "available" &amp; "updated_at(TIMESTAMP)" or keep data in the same table and change the "updated_at" table manually?</strong>
  The main table is the following : </p>
  
  <p>...........................................</p>
  
  <p>id                int</p>
  
  <p>name              varchar</p>
  
  <p>username          varchar</p>
  
  <p>password          varchar</p>
  
  <p>available         tinyint</p>
  
  <p>updated_at        DATETIME</p>
  
  <p><strong><em>What I'm wanting to do is :</em></strong></p>
  
  <p><strong>Main Table</strong></p>
  
  <p>...........................................</p>
  
  <p>id                int</p>
  
  <p>name              varchar</p>
  
  <p>username          varchar</p>
  
  <p>password          varchar</p>
  
  <p>available         tinyint</p>
  
  <p>updated_at        DATETIME</p>
  
  <p><strong>Another Table for available</strong></p>
  
  <p>...........................................</p>
  
  <p>user_id</p>
  
  <p>available         tinyint</p>
  
  <p>updated_at        TIMESTAMP</p>
  
  <p>which procedure is better?</p>
  
  <p><strong>There are other columns in the main table that might change sometimes, so I can't use TIMESTAMP for "updated_at" in the main table. Because if other columns of this table get updated, then "updated_at" will be updated too, but I don't want this.
  Thanks in advance.</strong></p>