Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nginx 1.12.0
- wsrep
- php zip 모듈
- 국민은행(기업)
- 갈레라
- 복구
- DOTCOM 마케팅 설계자 SECRET
- disk 100% 사용
- php 업로드 파일 삭제
- error 1728
- ZipArchive 오류
- 디스크 용량 확인
- author style
- php 7.3
- nginx
- disk full
- postfix
- user style
- Laravel
- centos7
- php excel
- Oracle
- html 구성
- navicat
- OTP 오류
- OTP 보정오류
- MariaDB
- CSS
- mysql.proc 오류
- php 파일 삭제
Archives
- Today
- Total
Jehna :)
PDO 에러 There is already an active transaction in.. 본문
PDO로 UPDATE 쿼리 실행 시, There is already an active transaction in.. 와 같은 오류가 발생하는 경우가 있다.
* 보통은 업데이트 할 column의 values값이 잘 못 전달되거나 column수와 values 수가 다를 경우 발생하지만
transaction 문제가 있는 경우에도 위와 같은 오류가 발생할 수 있다.
< transaction 에러 발생 환경 >
한번에 쿼리가 여러번 실행될 때, transaction도 여러번 실행되는 환경
< 에러 발생 원인>
하나의 transaction이 끝나기도 전에 다른 transaction이 호출되면서 과부하가 걸려
DB에서 자체적으로 막아버림
<해결 방법>
1. 쿼리 준비 전, beginTransaction() 실행
2. 실행할 모든 쿼리 준비 후 pdo의 prepare() 와 execute() 진행
3. 한번에 commit() 진행
개발 환경에 따라 코드가 달라질 수 있어
예제 코드는 따로 준비하지 않았다.
(환경이 달라도 해결 방법은 비슷하다고 생각되어 글로 간단하게 적음)
'윌리 > DB' 카테고리의 다른 글
[MariaDB 에러] Error Code : 1728. Cannot load from mysql.proc. The table is probably corrupted. (0) | 2022.07.19 |
---|---|
mariadb 복구 (innodb) (0) | 2022.07.15 |
Mariadb 데이터 베이스 생성 (0) | 2020.06.18 |
mariaDB 백업 및 복구 (0) | 2019.11.19 |
[Oracle] 날짜형식 변경 (yy/mm/dd 변경) (0) | 2018.03.30 |