INSERT INTO ON DUPLICATE KEY UPDATE 这种更新方式,当有三条语句同时执行,且锁定了第二个第三个事务的行时,其中第一个事务开始后,后面两个会只会等待第一个事务结束,没有顺序,会有一个随机失败,报错为死锁
update 这种更新方式,三条语句同时执行,会有顺序依次等待事务执行完毕
select * from information_schema.innodb_trx
select * from information_schema.innodb_locks
select * from information_schema.innodb_lock_waits
innodb_trx ## 当前运行的所有事务
innodb_locks ## 当前出现的锁
innodb_lock_waits ## 锁等待的对应关系
可以用这些表查看等待锁的关系