title: MySQL 5.7: Invalid default value for 'event_end_date'
body: <p>We are migrating our application from <code>MySQL 5.5</code> to <code>5.7</code>. As the default value <code>0000-00-00</code> is not allowed anymore for date fields in <code>MySQL 5.7</code> in strict mode, I would like to change the default value to <code>NULL</code>. </p>
  
  <p>The concerned fields are defined as follows:</p>
  
  <pre><code>+------------------+----------------------+------+-----+------------+----------------+
  | Field            | Type                 | Null | Key | Default    | Extra          |
  +------------------+----------------------+------+-----+------------+----------------+
  | event_start_date | date                 | YES  |     | 0000-00-00 |                |
  | event_end_date   | date                 | YES  |     | 0000-00-00 |                |
  +------------------+----------------------+------+-----+------------+----------------+
  </code></pre>
  
  <p>When I try to execute the following <code>ALTER</code> query:</p>
  
  <pre><code>ALTER TABLE events CHANGE event_start_date event_start_date date DEFAULT NULL;    
  ALTER TABLE events CHANGE event_end_date event_end_date date DEFAULT NULL;
  </code></pre>
  
  <p>I get the following error: </p>
  
  <pre><code>Invalid default value for 'event_end_date'
  </code></pre>
  
  <p>I know it would be possible to disable strict mode, but that is not the solution I am looking for. Strangely enough the same query worked for an other table.</p>
  
  <p>Anyone has an idea what is going wrong?</p>