
로그인 할 때 대소문자 구분 없이 로그인이 되는 사이트를 본 적이 있을 것이다. 그럴 때 마다, 사용자로 부터 받은 아이디를 모두 소문자나, 대문자로 치환하여 DB에 전달하는게 아닐까 라는 생각을 한 적이 있다.(collate가 모르는 사람이 구현을 했다면 이렇게 구현을 하지 않았을까..? 이렇게 생각 한 나처럼..) 그러나 collate를 알고 있다면 전혀 그럴 필요가 없다는 사실..! Collate란?문자 집합에 포함된 문자들을 어떻게 비교하고 정렬할지를 정의하는 콜레이션을 설정 하는 키워드- 문자열 데이터를 비교 할 때 대소문자를 구분할지 여부- 문자 간 정렬 순서를 정의- 언어별 특수 문자 처리 방식을 지원 Collate의 구조예) utf8mb4_general_ci- utf8mb4 : 문자 집합-..

동일한 ID를 가진 경우 A 테이블의 NAME 컬럼 값을 B 테이블의 NAME 값으로 변경해야 하는 상황이 생겼다. 아래와 같은 경우로, A테이블에 NAME 컬럼이 추가 되어 기본값 NULL 값으로 되어있는데, B테이블에서 해당 ID의 NAME을 찾아 업데이트를 해줄 것이다.이럴 때 UPDATE JOIN을 통해서 쉽게 변경이 가능하다.UPDATE TB_A A JOIN TB_B B ON A.ID = B.ID SET A.NAME = B.NAME WHERE 조건문 근데 이렇게 그냥 바로 되었다면 난 이 블로그를 쓰지 않았을 것이다.업데이트를 하는데 이상하게 Duplicate 키 에러가 발생하였다. 테이블 A의 PK는 ID와 REGIST_DATE인데 나는 이 컬럼들을 업데이트 하지 않았다.근데 왜 중..

나는 데이터베이스에 대해 아직 잘 모른다. 할 수 있는건...정말 단순 CRUD정도.. DB에 대해서 잘 몰라서 생겼던 문제점에 대해서 작성해보려고 한다. 채팅 내용을 저장하는 테이블을 설계 할 때 방 이름과 등록일을 primary key로 잡았었다.(해당 테이블은 이해를 돕기 위해 임의로 생성한 테이블이며, 실제로 사용 된 테이블이 아닙니다)CREATE TABLE `MESSAGE` ( `ROOM_ID` varchar(20) NOT NULL, `USER_ID` varchar(20) NOT NULL, `MESSAGE` varchar(100) NOT NULL, `REGIST_DATE` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), PRIMARY KEY (..
- Total
- Today
- Yesterday
- softeer
- mysql
- 리액트
- 스프링
- softeer java
- springboot
- 자바
- 현대코테
- 코테
- 자바코테
- 전자정부프레임워크
- nginx
- Kubernetes
- 톰캣
- 코딩테스트
- 쿠버네티스
- java
- Linux
- 도커
- 오토에버코테
- tomcat
- 아파치카프카
- centos
- 현대오토에버
- Docker
- 자바스크립트
- 현대
- javascript
- Spring
- react
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |