title: MySQL column type "TIMESTAMP" implicitly includes "NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"
body: <p>I've just spent a couple of hours tracking down this bug. Given the following SQL:</p>
  
  <pre><code>DROP DATABASE IF EXISTS db;
  CREATE DATABASE db;
  CREATE TABLE db.tbl (t1 TIMESTAMP) ENGINE=INNODB;
  SHOW CREATE TABLE db.tbl;
  </code></pre>
  
  <p>The last line shows me:</p>
  
  <pre><code>'CREATE TABLE `tbl` (
    `t1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1'
  </code></pre>
  
  <p>Where on earth does the <code>NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP</code> come from? I didn't write any of that, and I very much do not <em>want</em> any of that, and I'm kinda lost for words that MySQL would make such a presumption.</p>
  
  <p>Do I have some insane obscure configuration option turned on/off? Is this default behavior? It is a bug? In any case, how do I make MySQL behave sanely?</p>