본문 바로가기

MySQL

[DB] Incorrect string value: '\xF0...' - 이모지 저장 시 에러 Too Busy;DR 😁🙏🥹❤️‍🔥 utf8에서 이모지를 저장하려 할 때 뱉는 오류이다. DB의 인코딩 방식을 utf8mb4로 지정해준다. + Connection에서도 utf8mb4로 지정해주는 것을 잊지 않는다. 환경 nodeJs / MySQL / promise-mysql(라이브러리) 요정도? 배경지식 1. UTF8은 1~4바이트의 가변 바이트를 가짐으로써 용량을 절약했다. 2. MySQL에서는 UTF8을 3바이트 가변 자료형으로 설계했다. (모든 언어가 21bit에 저장되기 때문) 3. 이모지는 4바이트를 갖는다. => mysql의 utf8 인코딩으로는 이모지를 저장할 수 없다..! 4. UTF8mb4는 UTF8과 비슷하지만 확장된 문자를 지원하기 위해서 4바이트까지 저장할 수 있는 Charset이다.. 더보기
[Spring][MySql] Unknown system variable 'query_cache_size’ mysql-connector-java 종속성의 버전 차이 때문에 발생하는 오류이다. 예를 들면, DB의 mysql 버전은 8.x.x버전인 반면에 mysql-connector-java의 버전이 5.x.x라면 위와 같은 오류가 발생할 수 있다. 1. pom.xml에서 mysql-connector-java의 버전을 올려주고 2. maven clean 3. maven install을 하여 종속성을 업데이트하여 해결했다. 더보기
[MySql] [Oracle] 정렬 시 Null 위치 컨트롤하기 우선 순위 기능 넣어주세요~ 낮을수록 위에 오고, 없는 데이터는 그 아래에 뿌려주세요~ 위 요구 사항을 해결하기 위해서 priority 컬럼을 만들어주었다. -- Null을 허용함 ALTER TABLE board ADD priority INT​ 그 후, 그냥 ASC 정렬을 하면 우선순위가 낮은대로 출력될 줄 알았다. SELECT * FROM board ORDER BY priority ASC 하지만 출력결과는 아래와 같았다.. DATA PRIORITY {~~~~~} {~~~~~} {~~~~~} 1 {~~~~~} 3 ASC 정렬 시 null이 우선되기 때문이었다. 문제 해결 TRUE는 1이고 FALSE는 0이다. 누가 더 큰가? TRUE가 더 크다. 우선순위가 있는 녀석들과 없는 녀석들의 차이는 우선순위의 .. 더보기
[Programmers] 오랜 기간 보호한 동물(1) MySQL, Oracle https://programmers.co.kr/learn/courses/30/lessons/59044 코딩테스트 연습 - 오랜 기간 보호한 동물(1) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr Oracle SELECT NAME, DATETIME FROM ( SELECT ai.NAME, ai.DATETIME FROM ANIMAL_INS ai LEFT JOIN ANIMAL_OUTS ao ON (ai.ANIMAL_ID = ao.ANIMA.. 더보기
[Programmers] 오랜 기간 보호한 동물(2) MySQL, Oracle https://programmers.co.kr/learn/courses/30/lessons/59411 코딩테스트 연습 - 오랜 기간 보호한 동물(2) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr Oracle SELECT ANIMAL_ID, NAME FROM (SELECT ai.ANIMAL_ID, ai.NAME FROM ANIMAL_INS ai, ANIMAL_OUTS ao WHERE ai.ANIMAL_ID = ao.ANIMAL_ID O.. 더보기