본문 바로가기

Database/Mysql & MyBatis

(4)
Illegal mix of collations Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation 'like'다른 문자의 집합과 조회하려할때 발생하는 오류이다COLLATE utf8mb4_unicode_ci을 추가하면 조회할때 COLLATE으로 문자를 일치시킬 수 있다. SELECT t1.*, t2.username, CONVERT(t1.image USING UTF8) AS imgsrc, DENSE_RANK() OVER (ORDER BY t1.score DESC) AS rank FROM game_title t1 LEFT JOIN ..
페이징과 랭킹, Total Count 조회하기 1. 페이징LIMIT 3 OFFSET ? 을 통해 데이터 3개씩 조회하도록 페이징할 수 있다. 2. 랭킹DENSE_RANK() OVER (ORDER BY t1.score DESC) AS rank 으로 점수로 랭킹을 조회할 수 있도록 하였다.만약 동점인 점수가 있다면 같은 랭크로 조회된다 3. Total Count(SELECT @totalCount := (SELECT COUNT(id) FROM game_title WHERE publicity = 1)) AS T으로 서브쿼리를 추가하여 전체 카운트를 조회하도록 하였다. 참고로 CONVERT(t1.image USING UTF8) AS imgsrc의 경우 imgsrc가 LONGBLOB 타입으로 되어있어CONVERT( ~ USING UTF8)으로 감싸줘야한다. 만..
MyBatis 프로시저 생성하기 insert나 update를 진행할때 쿼리를 2개 이상씩 실행할때가 있어 이는 프로시저로 처리하려한다.편의를 위해 DBeaver를 연결하여 프로시저를 생성하여보겠다 프로시저 파일을 우클릭하여 create를 클릭해 생성한다. 전달받을 파라미터는 In Id int이고 아래는 실행될 쿼리이다.CREATE PROCEDURE MediaPlayDB.Delete( IN Id int)BEGIN DELETE from Table1 where id = Id; DELETE from Table2 where id = Id; DELETE from Table3 where id = Id;END 해당 쿼리를 실행하려면 CALL MediaPlayDB.Delete('1');CALL명령어로 실행할 수 있다.
[centos7] MariaDB 설치 및 DBeaver연결 환경 : 네이버 클라우드에서 centos7 사용 중 1. MariaDB을 서버에 설치하고 MariaDB 접근 권한이 있는 계정을 생성한다 참고 : https://marsland.tistory.com/510 [CentOS] MariaDB 설치부터 데이터베이스 생성까지안녕하세요. CentOS 에 MariaDB 설치부터 데이터베이스 생성까지 알아보도록 하겠습니다. 1. Repo 설정 sudo vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=httpsmarsland.tistory.com 2. DB 연결을 할 수 있는 3306포트 방화벽을 열어준다. 참고..