我正在从事在线交易项目。
我在表t1(innoDB引擎)上插入一行,插入事件后有一个触发器。
在触发器中,我使用同一个表中的select语句获取数据,如“SELECT * FROM t1 WHERE ID = NEW.ID”。
它完美的工作2-3个月。但现在它给死锁问题。
它背后的原因是什么?
是否有可能多个线程同时访问同一个表上的同一个操作?
MySQL死锁问题
0
A
回答
0
你想要以前插入的ID吗?
,你可以尝试这样的事情
INSERT INTO table1 (title,userid) VALUES ('test', 1);
SET @last_id_in_table1 = LAST_INSERT_ID();
+0
如果我在触发器中添加New.ID,那么它工作正常。但我使用选择查询,如“SELECT * FROM t1 WHERE ID = NEW.ID”,那么它给我的死锁问题是什么原因背后呢?为什么它的工作完美3个月,并突然给死锁错误? –
+0
我不知道确切的,但可能是你没有建立你的函数线程安全,所以这是被称为同时。 pl。尝试使db函数/ java代码线程安全 –
相关问题
- 1. MySQL死锁问题(PHP/MYSQL)
- 2. Dapper死锁问题
- 3. Java死锁问题
- 4. MySQL的死锁问题与InnoDB的
- 5. 明显死锁c3p0问题
- 6. SQL Server 2008死锁问题
- 7. Websocket Rails死锁问题
- 8. SQLite-Net-PCL死锁问题
- 9. 死锁,一些问题
- 10. Python的SocketServer死锁问题
- 11. F#解决死锁问题
- 12. nhibernate事务死锁问题
- 13. sqlalchemy + mysql死锁
- 14. mysql事务死锁
- 15. MYSQL中的死锁
- 16. Mysql死锁检测
- 17. MySQL表锁问题
- 18. MySQL锁定问题
- 19. mysql锁定问题
- 20. MySQL InnoDB锁问题
- 21. 休眠与sqlserver死锁问题
- 22. Akka.net与ActorSelection的死锁问题
- 23. JDBC和死锁避免问题(基本)
- 24. 解决核心数据死锁问题?
- 25. 如何重构这个死锁问题?
- 26. SQL Server中的死锁问题
- 27. GTK中线程的死锁问题
- 28. 问题的事件和死锁
- 29. SQL服务器死锁问题
- 30. 具有性能问题/死锁的System.Web.Providers.DefaultMembershipProvider
你可以发布您收到的确切的错误? – dethtron5000
org.springframework.dao.DeadlockLoserDataAccessException:PreparedStatementCallback; SQL [INSERT INTO t1(ID,NAME,ADDRESS)VALUES(?,?,?)]; 尝试锁定时发现死锁;尝试重新启动事务;嵌套异常是com.mysql.jdbc.exceptions.MySQLTransactionRollbackException:尝试获取锁定时发现的死锁;尝试在org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:300)重新启动事务 –