일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바스크립트
- 1인개발
- 자바
- react-three-fiber
- java
- spring
- 쿼리 오류
- 그딴건없었다
- SQL
- SpringBoot
- 코드 시각화
- 코드 이해하기
- jsp
- nvl함수
- Python
- 로그인 기능
- 헬생아
- 렌파이
- 문서객체모델
- REACT
- 값 가져오기
- jstl
- MySQL
- 타입 오류
- 깃허브
- C언어
- 웹 퍼블리싱
- CSS
- 전처리도구
- 코드 가시화
- Today
- Total
This is it. it's IT.
[mysql] DB에 Lock이 걸렸다....?????????? 본문
알수없는 이유로 DB에 Lock이 걸렸다....
팀프로젝트를 하면서 여러 기능들이 막 짬뽕되고 하는 탓에 무언가 혼선이 생긴 것 같다
table에 insert를 해야하는데 ...
인서트 버튼을 누르니 오랫동안 로딩중이다가 ...
타입 예외 보고
메시지 Request processing failed; nested exception is org.springframework.dao.CannotAcquireLockException:
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
예외
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.CannotAcquireLockException: ### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction ### The error may involve com.moolcalm.mapper.ProductMapper.buy-Inline ### The error occurred while setting parameters ### SQL: insert into collection_list(email, p_name) values (?, ?) ### Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction ; ]; Lock wait timeout exceeded; try restarting transaction; nested exception is com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877) javax.servlet.http.HttpServlet.service(HttpServlet.java:681) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
대충 요런 에러가 떴다...
선생님이 말하기를
DB가 인서트를 실행중인 도중에 다른 이상한 작업이 혼란을 일으켜서? DB가 자체적으로 이 기능을 막아버린 것이라고 한다....
테스트중엔 DB였기때문에 다행히 안에 데이터는 없었다.
그래서 결국 DB를 지우고 다시 만들게 되었다....
구글에 쳐도 해결법이 지우고 다시 만드는 거라 하더라.... 이글을 본 당신 ,, 다른 방법이 있다면 알려주시면 고맙습니다.
drop table collection_list;
테이블을 지운다...
create table collection_list(
p_name varchar(30),
email varchar(20)
);
다시 만든다...
-- 제약조건 추가
ALTER TABLE collection_list
ADD CONSTRAINT collection_listfk_1
FOREIGN KEY (email)
REFERENCES l_info(email)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE collection_list
ADD CONSTRAINT collection_listfk_2
FOREIGN KEY (p_name)
REFERENCES product_list(p_name)
ON DELETE CASCADE
ON UPDATE CASCADE;
그 다음에 제약조건을 추가한당.