死锁问题如下:
    1、创建表(MySQL版本:5.7.36)
    create table demo (
    id int(10) primary key
    )engine=innodb;

    2、初始化数据
    insert into demo values(1);
    insert into demo values(3);
    insert into demo values(6);

    3、执行如下SQL:
    sessionA:
    set session autocommit=0;
    start transaction;
    insert into demo values(4);
    sessionB:
    set session autocommit=0;
    start transaction;
    insert into demo values(4);
    sessionC:
    set session autocommit=0;
    start transaction;
    insert into demo values(4);

    sessionA:rollback;
    控制台结果(也可能是sessionB死锁,sessionC成功):
    sessionB:插入成功
    sessionC:Deadlock found when trying to get lock; try restarting transaction

    各位同学分析一下产生死锁的原因?

    https://dev.mysql.com/doc/refman/5.7/en/innodb-locks-set.html
    image.png
    行记录排它锁