title: mysql can't insert record with unsigned primary key being zero
body: <p>I am trying to insert one record into dim_channel table with zero for the primary key (unsigned int). </p>
  
  <p>Mysql command:</p>
  
  <pre><code>INSERT INTO dim_channel 
  set channel_id=0,name='Other',parent_channel_id=0,parent_channel_name='Other';
  </code></pre>
  
  <p>Results:</p>
  
  <pre><code>select * from dim_channel;
  +------------+-------+-------------------+---------------------+
  | channel_id | name  | parent_channel_id | parent_channel_name |
  +------------+-------+-------------------+---------------------+
  |          1 | Other |                 0 | Other               |
  +------------+-------+-------------------+---------------------+
  </code></pre>
  
  <p>Please note that channel_id got value 1, not 0 as I expected.</p>
  
  <p>Any one knows why this happens. </p>
  
  <p>By the way, I can update the record as:
  update dim_channel set channel_id=0 where channel_id=1;</p>
  
  <p>Just want to know why I can't insert the record with channel_id=0 at the first place.</p>
  
  <p>Thanks a lot.</p>
  
  <p>====== MySQL command for you to test ====</p>
  
  <p>-- Create table</p>
  
  <pre><code>CREATE TABLE `dim_channel` (
    `channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `name` char(80) DEFAULT NULL,
    `parent_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
    `parent_channel_name` varchar(80) DEFAULT NULL,
    PRIMARY KEY (`channel_id`)
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  </code></pre>
  
  <p>-- insert record</p>
  
  <pre><code>INSERT INTO dim_channel set channel_id=0,name='Other',parent_channel_id=0,parent_channel_name='Other';
  </code></pre>
  
  <p>-- see result</p>
  
  <pre><code>select * from dim_channel;
  </code></pre>