mysql 往表中insert的时候如何让主键id按当前表的最大值自动增长?

示例:

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
原文地址:https://www.cnblogs.com/airduce/p/8622513.html