본문 바로가기

Database

(155)
mariadb database collate error 1267 해결 방법 mariadb database collate error 1267 해결 방법 안녕하세요. mariadb 나 mysql을 사용하면서 가끔 sql을 실행하고 나면 발생하는 에러 입니다. 바로 error 1267 인데요, 해당 에러에 대한 해결 방안을 일전에 소개 한적이 있습니다. Table과 database (schema) 의 collate 맞추기 아래 링크로 가서 보시면 아시겠지만, 테이블간의 collate가 맞지 않아 발생하는 에러인데, 아주 가끔 테이블간 collate가 맞는데도 불구하고 해당 error가 발생하는 case를 확인하게 되었습니다. https://stricky.tistory.com/502 mysql error 1267 (HY000): Illegal mix of collations 무조건 해..
프로그래머스 SQL 답 GROUP BY 문제 풀이 #04 프로그래머스 SQL 답 GROUP BY 문제 풀이 #04 고양이와 개는 몇 마리 있을까 고양이와 개는 몇 마리 있을까? 하는 문제 입니다. 문제에서도 고양이와 개를 따로 세어보는 문제일듯 한 느낌이 듭니다. 문제를 확인 해보겠습니다. 위와 같이 늘 주어지는 ANIMAL_INS 테이블이 주어졌고, 여기서 고양이와 개를 각각 세어주면 됩니다. 그리고, 마지막에 보면 Cat을 Dog보다 먼저 출력 하라고 하네요. 여기서 필요한건 뭘까요? 일단 ROW수를 세어주는 COUNT() 함수와 함께, 고양이와 개로 각각 나워주는 GROUP BY 절이 필요 합니다. 그리고, 마지막에 ORDER BY 절을 이용해서 Cat이 Dog보다먼저 나오도록 오름차순으로 정렬 하면 되겠습니다. GROUP BY에 대해서 장황하게 설명하기..
프로그래머스 SQL 답 SUM, MAX, MIN 문제 풀이 #03 프로그래머스 SQL 답 SUM, MAX, MIN 문제 풀이 #03 안녕하세요. sTricky 입니다!! 프로그래머스 SQL sum, max, min 문제 풀이를 진행 해보도록 하겠습니다. 바로 진행 해보도록 하겠습니다. 어렵지 않습니다! 최댓값 구하기 첫번째 문제는 최댓값 구하는 문제입니다. 문제는 다음과 같이 주어졌습니다. ANIMAL_INS 테이블의 구조와 데이터가 예시로 나와 있구요. 문제는 가장 최근에 들어온 동물은 언제 들어왔느냐 입니다. 여러분들이 날짜의 크고 작고를 구할때 햇갈리시면 안되는게, 날짜가 과거이면 작고, 그다음이 현재, 그리고 미래가 크다는걸 잊으시면 안됩니다. 그러닌깐, 가장 최근, 지금을 기준으로 가장 최근이니 있는 날짜 가운데 가장 큰것을 구하면 되겠죠. 바로 MAX() 함..
프로그래머스 SQL 코딩테스트 select 문제 풀이 #2 프로그래머스 SQL 코딩테스트 select 문제 풀이 #2 지난 1편에 이어서, 이번에도 프로그래머스 SQL 문제를 몇문제 풀어보도록 하겠습니다. 2021.09.09 - [Database/프로그래머스SQL] - 프로그래머스 SQL 코딩 테스트 select 문제 풀이 프로그래머스 SQL 코딩 테스트 select 문제 풀이 프로그래머스 SQL 코딩 테스트 select 문제 풀이 SQL 연습하신다고 프로그래머스 SQL 풀어보시는 분들이 많이 계시네요. 오늘부터 하나씩 풀이를 써볼까 합니다. 자자, 그럼 레고레고~!!! select 모든 stricky.tistory.com 도움이 되셨는지 모르겠습니다. SQL은 어렵지 않아요, 차근 차근 따라오시면 하실 수 있습니다. 그럼 시작해볼께요. select 어린 동물 ..
프로그래머스 SQL 코딩 테스트 select 문제 풀이 프로그래머스 SQL 코딩 테스트 select 문제 풀이 SQL 연습하신다고 프로그래머스 SQL 풀어보시는 분들이 많이 계시네요. 오늘부터 하나씩 풀이를 써볼까 합니다. 자자, 그럼 레고레고~!!! select 모든 레코드 조회하기 첫번째는 모든레코드를 조회하는 문제네요. 우선 테이블명은 ANIMAL_INS 입니다. 동물 보호소에 들어온 동물의 정보를 담은 테이블 이구요. 문제 설명 바로아래 나오는곳 보면 컬럼 목록이 있죠. 옆에 type은 해당 컬럼의 데이터 타입 입니다. 여기서는 varchar 와 datetime만 사용을 하였네요. nullable 부분은 해당 컬럼에 값이 없음을 뜻하는 NULL 데이터가 들어갈수 있는지 여부를 말하는겁니다. NAME 이라는 컬럼만 NULL이 들어갈 수 있습니다. 나머지..
mysql error 1267 (HY000): Illegal mix of collations 무조건 해결방법 mysql error 1267 (HY000): Illegal mix of collations 무조건 해결방법 안녕하세요. 갑자기 다음과 같은 에러가 발생을 합니다. [HY000][1267] (conn=10) Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' 위 에러는 SQL에서 조인을 하거나 if, case 문들으로 값을 비교할때, 양쪽 테이블의 collation이 달라서 발생하는 에러 입니다. 위 에러를 조치하기 위해서는 크게 두가지 방법이 있습니다. 하나씩, 하나씩 알아보도록 하겠습니다. 한쪽 테이블의 collation 변경 어느 한쪽 테이블의 collatio..
[Mysql] Cursor declaration after handler declaration 에러 해결 방법 [Mysql] Cursor declaration after handler declaration 에러 해결 방법 mysql에서 열심히 프로시저를 개발하는 도중 만나게된 에러 입니다. 그리고 그 에러 해결방법을 남겨 둡니다. 제가 이번에 mysql 프로시저 개발을 하면서 필요한 여러 변수들을 선언하고, 커서를 선언하고, sql exception과 fetch를 위해서 HANDLER를 선언을 했습니다. 여기서 위 세가지 선언들은 모두 declare 명령을 통해서 정의가 되죠. 그렇게 모두 잘 선언을 하고, 프로그램을 작성 한뒤에 프로시저를 생성을 하는데 아래와 같은 메시지가 등판하게 됩니다. Cursor declaration after handler declaration 에러가 발생 한거죠. 그래서 바로 구글 ..
맥북 docker 에 mssql 설치 하기 맥북 docker 에 mssql 설치 하기 안녕하세요. 맥북에 MSSQL을 설치 할 일이 있어서, 급하게 docker설치하고, mssql을 셋팅 해보도록 하겠습니다. 자, 그럼 바로 시작 해보겠습니다. docker 설치하기 자, 아래 링크로 가셔서 docker를 설치 하시면 됩니다. https://www.docker.com/products/docker-desktop 위와 같은 화면에서 저와 같은 Intel chip 이시면 왼쪽꺼, 최근에 M1 구매 하신거면 오른쪽 버튼 눌러서 진행하시면 되겠습니다. 저는 그럼 바로 왼쪽껄로! "열기"를 눌러서 진행을 하도록 하겠습니다. Move~ Move~ 아마, 권한 달라고 하고, 실행 할꺼냐 묻고 그럴겁니다. 다 해준다 살살 다뤄줍니다. 그렇게 몇번 클릭 하시고 나면..