Database/mariaDB administrator

error 1422 Explicit or implicit commit is not allowed in stored function or trigger 마리아DB 펑션

sTricky 2021. 12. 8. 09:38

error 1422 Explicit or implicit commit is not allowed in stored function or trigger 마리아DB 펑션

error 1422 Explicit or implicit commit is not allowed in stored function or trigger 마리아DB 펑션

안녕하세요.
MariaDB에서 펑션를 개발하는 도중에 만난 에러에 대하여 처리 방법을 공유코자 포스트를 남깁니다.
error 1422 이며, function을 개발하는 도중에 만나게 되었습니다.

error 1422 Explicit or implicit commit is not allowed....

해당 에러는 에러 메시지만 봐도 내용을 대강 알 수 있겠죠.
아래와 같이 파파고에서 친절하게 해석을 해줍니다.

error 1422

 

 

 

commit을 쓰지 못한다 인데..
제가 작성한 펑션에는 커밋이 없었습니다.

원본 소스

(뭘 많이 가렸죠? 죄송합니다..)
아무튼, commit이 없는 구조로 작성을 했는데, 왜 이런 에러가 날까요?
그래서 해당 에러를 우리 google신에게도 문의를 합니다.

https://www.google.com/search?q=mysql+1422&newwindow=1&sxsrf=AOaemvJqjKRZuPV1CukraxpftzjwRL064A%3A1638922756828&source=hp&ei=BPqvYaWYMO6umAXhoKuoCA&iflsig=ALs-wAMAAAAAYbAIFEgpStkpJ-cyu-_lLN8cvB0tnF9r&ved=0ahUKEwilqu6F99L0AhVuF6YKHWHQCoUQ4dUDCAc&uact=5&oq=mysql+1422&gs_lcp=Cgdnd3Mtd2l6EAMyBQgAEMsBMgYIABAWEB4yBggAEBYQHjoHCCMQ6gIQJzoFCAAQgAQ6CwguEIAEEMcBEKMCOgUILhCABDoLCC4QgAQQxwEQ0QM6BAgjECc6CggAEIAEEIcCEBRQj0ZYwU5g3lJoAnAAeACAAV-IAeAEkgEBN5gBAKABAaABArABCg&sclient=gws-wiz 

 

mysql 1422 - Google 검색

ERROR 1422 (HY000): Explicit or implicit commit is not allowed in stored function or trigger. Is this because I call the procedure, which contains transactions, ...

www.google.com

요렇게 검색을 해보면, <alter table 명령어에도 묵시적으로 commit이 들어간다~> 뭐 그러한 내용들도 보입니다.
하지만, 저는 alter table도 없었죠?
단순하게 select 해서 바로 return 해주는 아주 평범한 펑션입니다.

여기에서 commit의 의미를 다시한번 생각해 보았습니다. 바로 <트렌젝션> 이죠. commit 과 rollback은 트렌젝션과 밀접한 관련을 가지고 있죠. 아하, 그러고 보니 소스에 rollback이 있었네요.

이걸 제외 시키고 한번 다시 시도 해보았습니다.
잘 실행이 되는것을 확인 할 수 있었습니다.

등잔밑이 어둡다고.. commit만 찾지 말고, rollback도 같이 찾읍시다!!!
좋은 하루 되시구요!

by.sTricky

2021.10.27 - [Database/mariaDB administrator] - mysql 실무에 유용한 sql 로직 모음 #01

 

mysql 실무에 유용한 sql 로직 모음 #01

mysql 실무에 유용한 sql 로직 모음 #01 안녕하세요. mysql 또는 mariadb를 사용하시면서 실무에서 만나게 되는 다양한 sql 로직들에 대해서 정리를 해보도록 하겠습니다. 물론, 오라클이나 mssql등에서도

stricky.tistory.com

2021.10.01 - [Database/mariaDB administrator] - mariadb database collate error 1267 해결 방법

 

mariadb database collate error 1267 해결 방법

mariadb database collate error 1267 해결 방법 안녕하세요. mariadb 나 mysql을 사용하면서 가끔 sql을 실행하고 나면 발생하는 에러 입니다. 바로 error 1267 인데요, 해당 에러에 대한 해결 방안을 일전에 소..

stricky.tistory.com

2021.10.21 - [python 기초강의] - python으로 excel 데이터 탭 별로 mysql DB로 이관 하기 (data migration)

 

python으로 excel 데이터 탭 별로 mysql DB로 이관 하기 (data migration)

python으로 excel 데이터 탭 별로 mysql DB로 이관 하기 (data migration) 오늘은 python을 이용하여 아주 간단하게 excel에 있는 데이터들을 DB로 이관 하는 방법에 대해서 확인 해보도록 하겠습니다. 우선, exc

stricky.tistory.com