现在我有这样一个需求
表A id字段为自增字段
表B 有一个file_id字段,有816条数据,要求把这个字段从A表中id字段最大值开始自增,比如A表现在最大值为100
B表这个字段就从101开始
应该如何写语句呢

解决方案 »

  1.   

    alter table B表 AUTO_INCREMENT=101;
      

  2.   

    我可能没有说清楚,B表现在已经有ID字段为自增了,按说我可以先把B表内容插入到A表,然后再把A表的自增ID复制到file_id,但是现在我不想这么做,想问下有没有方法
      

  3.   

    查找自增id:
    select auto_increment from information_schema.tables where table_name="t_name"结果再加一就是你要的b表id了
      

  4.   

    你想找到A表的自增ID字段的当前最大值,然后给予B表的file_id字段?这样查就可以找到A表的自增ID字段的当前最大值:
    select auto_increment from information_schema.tables where table_schema='库名' and table_name='表A';
      

  5.   


    insert into B表(field_id,其它)
    select A表.auto_increment+100 ,其它
    from A表
    alter table B表 AUTO_INCREMENT=(select last_insert_id()+1);