title: mysql Field 'col1' doesn't have a default value
body: <p>I had db schema defined as below</p>
  
  <pre><code>CREATE TABLE `ATestTable` (
      id bigint(20) NOT NULL AUTO_INCREMENT,
      refId varchar(32) NOT NULL,
      col1 text COLLATE utf8_unicode_ci NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `unique_keyy_refId` (`refId`)
  ) ENGINE=InnoDB AUTO_INCREMENT=123 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  </code></pre>
  
  <p>when I have something like this</p>
  
  <pre><code>Insert into ATestTable (refId, col1) Values ('abc', 'def');
  </code></pre>
  
  <p>I got error <code>Field 'col1' doesn't have a default value</code>. I searched online this error should happens when there is no value specified for this NOT NULL column. But I do specified the value. I even tried the same insert script on my local db and it works. So is it a db server configuration thing? </p>
  
  <p>I run <code>show variables like '%sql_mode%'</code> and the one which doesn't work is <code>NO_ENGINE_SUBSTITUTION</code>. My local db (which works) is giving me <code>ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION</code></p>