database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29527 게시물 읽기
No. 29527
mysql 트랜잭션 문의드립니다.ㅠ.
작성자
정대원(todream)
작성일
2010-01-29 10:06ⓒ
2010-01-29 10:09ⓜ
조회수
7,738

안녕하세요.엔진은 innodb인 mysql에 c++로 작업중입니다.

여러스레드가 접속해서 멀티로 처리하는데..

쿼리중에

 

insert into xxx_xxx

select

    key1,

    key2,

    max(key_index)=1

from xxx_xxx

where key1=key;

 

이런형식의 쿼리가 있습니다.

근데 위 프로세스에서 동시에 여러개의 스레드가 해당 쿼리를 콜하면

 

"Deadlock found when trying to get lock; try restarting transaction:"

 

이런 에러를 뱉어내네요.ㅠ.ㅠ.

위 쿼리는 sp로 작성되어있고..

해서

sp 시작하는부분에

start Transaction;

commit;

도 추가해줬는데.. 마찬가지입니다...

어떻게 해줘야 해결이 될까요.ㅠ. 에공. 이런저런 자료를 찾아봤는데. .없는거 같아서 질문드립니다.

도움좀 부탁드릴게요~

 

이 글에 대한 댓글이 총 1건 있습니다.

 

innodb_lock_wait_timeout 시간을 늘려보세요~

 

mysql> show global variables like 'innodb_lock%';

해보시고.. 시간 확인 하신다음 이값보다 늘려주시면 될듯 합니다.

민족님이 2010-01-29 17:41에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29531특정레코드는 항상 위에 오도록 [1]
조성일
2010-02-03
6437
29530해킹으로 my-sql data 파일이 모두 삭제되었습니다.
강선도
2010-02-02
6504
29529XML 파일의 데이타를 MySQL 에서 읽기 [1]
손호준
2010-01-30
8154
29527mysql 트랜잭션 문의드립니다.ㅠ. [1]
정대원
2010-01-29
7738
29523소수점 자리수 세기 [6]
theaegis
2010-01-28
9332
29522등록할 자료에 : 와 ` 가 같이 있으면 오류가 나요 [2]
김길남
2010-01-27
7622
29521[DB 복구 도움을 요청합니다.]
장상민
2010-01-26
8024
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다