示例:
create table _yang_test(id BIGINT PRIMARY KEY,name VARCHAR(50)); select @a:=@a+1 as new_id,id,name from _yang_test p,(select @a:=max(id) from _yang_test ) r ;
上面的new_id就是你想拿到的id。
本人在實際項目中的應用:
insert into srba_login select @a:=@a+1 as id,a.sa_id,a.code as name,16 as account_type,null as last_login_time,null as last_login_ip, 1 as type,CONCAT(NOW(),'初始化統一社會信用代碼') as remark,1 as status,0 as deleted,1 as insert_sa_id,NOW() as insert_time,null as update_sa_id,null as update_time,'10.3.1.108' as ip from srba_organ_member a LEFT JOIN srba_login_count b on a.sa_id = b.sa_id and a.code = b.name ,(select @a:=max(id) from srba_login where id <300000) r where b.id is null and LENGTH(a.code)=18