


java-mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
mysqljava死锁sqltransaction
语言:java 数据库:mysql 5.0 数据引擎:innodb
项目中遇到一个mysql死锁的问题,报的异常如下 :com.mysql.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
我把问题简单化一下:
表t有id,a,b,c四个整型字段,id是primary key,a是unique key
5个Thread同时进行如下相同的5条sql操作,每个Thread这5条sql在同一个事物中:
insert into t(a,b,c) values(1,1,1) on duplicate key update b=b+VALUES(b)
insert into t(a,b,c) values(2,2,2) on duplicate key update b=b+VALUES(b)
insert into t(a,b,c) values(3,3,3) on duplicate key update b=b+VALUES(b)
insert into t(a,b,c) values(4,4,4) on duplicate key update b=b+VALUES(b)
insert into t(a,b,c) values(5,5,5) on duplicate key update b=b+VALUES(b)
这时执行就会报以上那个数据库异常。
查了些资料,大概了解是因为多个事物对同一条数据进行操作时,发生了锁的冲突。但是好的解决方案没有找到。
各位大神,帮忙看下,看有什么解决方案或思路,不胜感激!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

This article explores optimizing MySQL memory usage in Docker. It discusses monitoring techniques (Docker stats, Performance Schema, external tools) and configuration strategies. These include Docker memory limits, swapping, and cgroups, alongside

This article addresses MySQL's "unable to open shared library" error. The issue stems from MySQL's inability to locate necessary shared libraries (.so/.dll files). Solutions involve verifying library installation via the system's package m

The article discusses using MySQL's ALTER TABLE statement to modify tables, including adding/dropping columns, renaming tables/columns, and changing column data types.

This article compares installing MySQL on Linux directly versus using Podman containers, with/without phpMyAdmin. It details installation steps for each method, emphasizing Podman's advantages in isolation, portability, and reproducibility, but also

This article provides a comprehensive overview of SQLite, a self-contained, serverless relational database. It details SQLite's advantages (simplicity, portability, ease of use) and disadvantages (concurrency limitations, scalability challenges). C

Article discusses configuring SSL/TLS encryption for MySQL, including certificate generation and verification. Main issue is using self-signed certificates' security implications.[Character count: 159]

This guide demonstrates installing and managing multiple MySQL versions on macOS using Homebrew. It emphasizes using Homebrew to isolate installations, preventing conflicts. The article details installation, starting/stopping services, and best pra

Article discusses popular MySQL GUI tools like MySQL Workbench and phpMyAdmin, comparing their features and suitability for beginners and advanced users.[159 characters]
