MySQL数据库表中有自增主键ID,当用SQL插入语句中插入语句带有ID列值记录的时候就提示错误;是否可以让MySQL忽略SQL语句中的ID值只将其他列的值插入,让ID还是按照MySQL自增自己填呢?

解决方案 »

  1.   

    insert into tbl (id, name) values (null,'liu'),(null,"li");
    或者
    insert into tbl (name) values ('liu'),("li");
      

  2.   

    你在进行插入的时候可以把id的值设置为null或者0,这样子mysql都会自己做处理
    或者你根本不插入这一个字段的数据!
    如楼上
    insert into tmptable(id,x,y) values(0或者null,x,y);
    insert into tmptable(x,y) values(x,y);
      

  3.   


    有两个原因不能这样弄:第一 SQL语句已经固化在软件中了不能修改,第二 表的列太多要修改的话也太多
      

  4.   

    如果是这样的话 可以在数据里为这些表建before insert的触发器 在插入之前把自增字段的值赋值为null 这样指定的值会被忽略
    如果非要使用指定的值 可以先进行一次查询 如果已经存在相同的值了 再在业务逻辑方面考虑怎么处理