본문 바로가기
반응형

MySQL6

[MySQL] UPDATE 쿼리 시 에러코드 1175 처리 MySQL에서 제공하는 워크벤치를 설치하여 이용하는 경우에 update 시 이런 에러가 날 수 있다.  저 로그를 해석해보면 UPDATE에 대해서 안전 모드로 되어 있기 때문에 발생한 문제라고 한다. 따라서 안전모드(SAFE MODE)를 꺼주면 된다. 제일 간단한 방법은 옵션을 바꿔주는 명령어 하나만 샐행하면 된다. SET SQL_SAFE_UPDATES = 0;  그러면 update 쿼리가 실행된다. 2024. 6. 19.
[DataBase]inner join과 left join의 차이 지금까지 개발을 하면서 제일 많이 썼던 JOIN 방식 중 두개의 차이를 알아보고자 한다. 보통 JOIN 연산의 경우 데이터를 가지기 위해 테이블을 합치는 경우가 많은데 이 때 inner join과 left join을 많이 쓰게 된다. 이 두가지 방식의 차이점을 알아보자. 예시를 위해 개발하고 있는 프로젝트의 게시판 테이블과 게시판 댓글 테이블을 사용해 예시를 들겠다. 게시판 테이블의 행은 106개이고 댓글 테이블의 행은 52개이다. LEFT JOIN left join은 outer join의 일종이다. 여기서 중요한건 outer join은 합집합을 의미한다는 것이다. 따라서 왼쪽에 있는 테이블의 모든 행을 조회하게 된다. 쿼리를 이렇게 날리게 되면 왼쪽에 있는 테이블인 board 테이블의 모든 행을 다 조.. 2023. 5. 12.
[NestJS]NestJS,MySQL 쿼리 로깅(logging) 로그는 애플리케이션에서 발생하는 많은 이벤트들에 대한 기록이다. 에러가 발생하거나 어떠한 요청이 왔을 때 해당 로그를 보고 문제를 파악한다던지 어떤 요청이 들어왔는지 파악하는 등 아주 중요한 역할을 한다. 그럼 NestJS는 어떻게 로그를 남길 수 있을까? 자바스크립트에는 console.log()가 있지만 그것보다는 다른 방법이 더 좋을 수 있다. Logger Class NestJS는 다행히도 기본적으로 로거가 내장되어 있고 손 쉽게 사용할 수 있다. @nestjs/common 패키지에서 Logger 클래스를 불러와서 인스턴스 생성 후 사용해 주기만 하면 된다. private readonly logger = new Logger(AlcoholController.name); 이렇게 인스턴스를 생성하면 쉽게 .. 2023. 4. 21.
[NestJS] .env를 사용해서 MySQL 연동하기 일반적으로 데이터베이스를 연동할 때에 코드에 바로 데이터베이스 정보를 적지 않는다. 만약 하드코딩으로 백엔드 코드에 데이터베이스 정보를 집어넣고 실수로 깃허브에 커밋한다거나 유출이 되면 큰 문제가 생길 수 있기 때문이다. 따라서 보통 환경변수로 설정해 관리하곤 하는데 .env 파일을 이용해서 데이터베이스 정보를 환경변수로 설정하고 데이터베이스에 연동하는 방법을 알아보자. 먼저 MySQL에 연결하기 위해 사용한 typeorm 라이브러리를 설치하자. mysql2를 설치해야 별도의 라이브러리 설치 없이 사용가능하다. 루트 디렉토리에 .env 파일을 생성한다. 꼭 앞에 .을 붙여야 한다. 그 후 .env 파일내에 다음과 같이 데이터 베이스 정보를 적는다. 그리고 다음과 같이 appModule.ts 파일로 와서 .. 2023. 3. 9.
반응형