First: consider an upgrade of the SQLyog program! Latest version is 5.02. 5.1 beta will be out in less than a week. Registered users can upgrade for free.
Next: your question.
Because that is the way the server works with an INSERT statement! Even this SQL
Code:
insert into `test`.`t1` ( `id`, `t` ) values ( Â '0', Â 'rr' )
executed against an empty table inserts '1' and not '0' into first row of the table
However with an UPDATE staement like
Code:
update `test`.`t1` set  `id`='0',  `t`='rr' where `id`='1'
current value is updated with a '0'. As long as the is only this row having his value. dublicates are not allowed with an autoincrement
'autoincrement' means simply 'give me a unique number and I don't care which one'
http://dev.mysql.com/doc/refman/5.0/en/exa…-increment.html . It is a MySQL issue – not a SQLyog issue. And like that in practically every database.
I think that maybe you should consider redesigning your SCHEMA. It seems like you are using this column for more than one purpose.