I executed three sql in a transaction:
select * from table where mobile = ? for update
select prizeId,count(*) as amount from table where prizeRegion = ? group by prizeRegion,prizeId for update
insert into table (mobile,prizeId,prizeName,prizeRegion) values (?,?,?,?)
deadlocks occur concurrently when the table is empty, but not when there is data in the table. I don"t know what"s the problem?