title: How to insert data to MySQL by passing value '' for a auto incremented column?
body: <pre><code>CREATE TABLE IF NOT EXISTS `myproducts` (
                `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
                `parent_id` int(10) unsigned DEFAULT NULL,
                `type_id` varchar(64) COLLATE utf8_czech_ci NOT NULL DEFAULT 'NormalPage',
                `name` varchar(255) COLLATE utf8_czech_ci NOT NULL DEFAULT '',
                PRIMARY KEY (`uid`),
                KEY `index_2` (`type_id`,`t`),
                KEY `name` (`name`),
                KEY `parent_id` (`parent_id`,`name`(48))
              ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci ROW_FORMAT=DYNAMIC AUTO_INCREMENT=189 ;
  </code></pre>
  
  <p>This is my insert statement.</p>
  
  <pre><code>INSERT INTO `mydb`.`myproducts` (`uid`, `parent_id`, `type_id`, `name`) VALUES ('',20, 'Product Category', 'WaterBottels'); 
  </code></pre>
  
  <p>Problem Description :
  When i use this insert query in my system which is having mysql version 5.5.16 it is perfectly inserting the record but when i try this in another system which is also having mysql version 5.5.16 it is giving problem.</p>
  
  <p>I do know we should pass NULL or '0' for the auto increment column , but my question why it is working for my instance.</p>
  
  <p>As it is working for my instance , i am considering we can pass '' as the value for auto increment column. if so to work it out in other system do i need to change any mysql configurations.</p>