본문 바로가기
320x100
728x90

MYSQL8

MySQL]The MySQL server is running with the --read-only option so it cannot execute this statement 프로젝트 신규 기능 개발 관련해서 트랜잭션을 실행하면서 오류가 발생했다. 이 오류의 이유를 굉장히 많이 찾아봤는데, 원인은 다양했다. 1.트랜잭션을 처리하려는 테이블에 PK가 없는 경우. 2.DB가 뻗어버린경우. 3.트랜잭션을 처리하려는데 권한이 없는 경우. 나는 3번 째의 경우로 라이브 테이블에 대한 접근 권한이 없었다. 참고 : stackoverflow.com/questions/35445190/strange-mysql-read-only-error 2021. 2. 8.
Mybatis] MySQL] concat 문자열 검색 문제는 위 사진으로부터 시작됐다. mybatis에서 mapper설정을 해서 사용하던 중, like절에서 파라미터가 포함된 문자열을 검색해야 했는데, 따옴표 안에 넣으니 #{param}도 문자열로 인식해버렸다. 해결 MySQL의 concat함수를 이용해서 문자열을 더해주면서 문제를 해결했다. native 쿼리를 위와 같이 작성해주면, 쿼리가 실행되는 시점에서 파라미터와 '%%'을 합침으로써 의도한 대로 쿼리를 잘 실행했다. 2021. 1. 19.
MySQL] 테이블 복사하기 업무를 진행하면서 실제 사용하는 테이블 말고, 임시로 생성된 테이블에 작업을 할 일이 생겼다. 임시 테이블 안에 기존의 데이터를 추가해야 하는 방법을 찾아서 적용했다. 1. 임시 테이블을 아직 만들지 않은 경우 -> 임시 테이블을 만들면서 원본 테이블의 데이터를 복사해옴 CREATE TABLE [대상 테이블명] SELECT * FROM [원본 테이블명] 2. 임시 테이블을 만들었고 데이터만 복사하는 경우 INSERT INTO [대상 테이블명] SELECT * FROM [원본 테이블명] 3. 스키마가 다른 테이블에서 데이터를 복사해올 경우 mysql> INSERT INTO [대상 데이터베이스명]. [대상 테이블명] -> SELECT * FROM [원본 데이터베이스명]. [원본 테이블명] 4.컬럼에 제약조건.. 2021. 1. 19.
[Error]The driver has not received any packets form the server The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 이클립스를 사용하면서 이와 같은 오류가 발생하였다. 실행을 하게되면 500 내부 서버 오류가 떴고. 이래 저래 해결방법을 찾아보다가 노트북에 연결중인 와이파이를 바꿔주니까 잘 해결됐다. 원인은 문서를 받을 때, 해당 와이파이의 IP주소를 찾지 못하여 난 오류였다. 2020. 5. 20.
300x250
320x100