title: How to properly alter table default value
body: <p>I can't figure out why my alter table query throws an error. Currently, this is a (DATETIME) column with default value NULL. </p>
  
  <p>My wish is to alter it so datetime value gets automatically populated when I update a row. I'm trying to write an alter statement, but I can't figure out why mine is throwing the error.</p>
  
  <p>My alter statement</p>
  
  <pre><code>ALTER TABLE `mydb`.`orders` CHANGE COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}';
  </code></pre>
  
  <p>And this is the error that I'm getting</p>
  
  <pre><code>16:28:34    ALTER TABLE `mydb`.`orders` CHANGE COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}'  Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}'' at line 1  0.00041 sec
  </code></pre>
  
  <p>I'm using MySQL version 5.7</p>