复杂的创建表sql 如何让这个表有自动增长步长为1的主键 id
create table Ua2 as
select userLogId,accessTime,max(minid) as maxID  from
(select userLogId,accessTime, requestURI, min(ID) as minid
from UserRequestLog
where    accessTime >'2009-07-20 00:00:00'
and accessTime <'2009-07-21 00:00:00'
group by userLogId,accessTime,requestURI
having count(*)>1000
order by userLogId,accessTime,minid
) a
group by userLogId,accessTime这里select userLogId,accessTime,max(minid) as maxID  from  应该让这个表有自动增长步长为1的主键 id
如何做?

解决方案 »

  1.   

    有一个变通的方法,可以执行了以上的语句后,再增加自增列alter table Ua2 ADD id Int(10)  PRIMARY KEY  auto_increment;
      

  2.   


    set @i=0;create table Ua2 as 
    select @i:=@i+1 as ID,userLogId,accessTime,max(minid) as maxID  from 
    (select userLogId,accessTime, requestURI, min(ID) as minid 
    from UserRequestLog 
    where    accessTime >'2009-07-20 00:00:00' 
    and accessTime <'2009-07-21 00:00:00' 
    group by userLogId,accessTime,requestURI 
    having count(*)>1000 
    order by userLogId,accessTime,minid 
    ) a 
    group by userLogId,accessTime;select * from Ua2;
      

  3.   

    楼上 好强(这样和sqlserver没有差别)
    我用了2中方法
    1 同josy的方法
    2 用gui工具