一个数据表 id ,name , value  其中 id 是主键,并且自增长。一条循环插入的语句。insert into  db (`name`,`value`)   VALUES ('jack','welcome')一直用的没什么问题,今天在一台win2008系统上运行程序,提示:
Duplicate entry '0' for key 'PRIMARY'   
百思不得其解啊!!!!直接在phpmyadmin中用语句插入,没问题,但应用程序跑起来,就会提示 Duplicate entry '0' for key 'PRIMARY' !为什么呢???

解决方案 »

  1.   

    打印出来程序中的sql看下
      

  2.   

    insert into  db (`id`,`name`,`value`)   VALUES (null,'jack','welcome');
      

  3.   

    是innodb表么?插入之前是不是重启过数据库?
      

  4.   

    检查一下两台机器的sql mode有什么不同。
      

  5.   

    表的AUTO_INCREMENT 是不是被改了
      

  6.   

    innodb_autoinc_lock_mode=2
      

  7.   

    【1】innodb_autoinc_lock_mode 的说明  innodb_auto_lockmode有三个取值:
        1、0 这个表示tradition 传统
        2、1 这个表示consecutive 连续
        3、2 这个表示interleaved 交错