sql >> Database >  >> RDS >> Mysql

Time-out voor vergrendelingswachttijd overschreden; probeer de transactie opnieuw te starten met JDBC

Pas uw code aan en herschik de uitvoeringen als volgt. Het zou goed moeten werken:

Statement statement = connection.createStatement();
statement.execute("insert into student values (3,'kamal')");
connection.commit();

Statement statement1 = connection1.createStatement();
statement1.execute("delete from student where student_id = 3");
connection1.commit();

Het probleem is dat een eerder uitgevoerde insert-instructie nog niet is vastgelegd en de vergrendeling op de tafel vasthoudt wanneer u een nieuwe delete-instructie probeert uit te voeren, waardoor een deadlock-situatie binnen DB ontstaat.




  1. POWER() Voorbeelden in SQL Server

  2. Hoe rijen met een willekeurige datum te updaten

  3. Hoe Java Date op Mysql datetime op te slaan met JPA

  4. MySQL - Hoe een tekenreekswaarde ontleden naar DATETIME-indeling in een INSERT-instructie?