본문 바로가기
Mysql

Mysql 레코드 값 데이터 대/소문자 구분

by NaHyungMin 2019. 3. 13.

서비스 Key를 만드려고 하는데 10~12자로 해달라고 한다.

특수 문자를 제외한 정보를 만들기 위해 다음과 같이 설정.



여기서 B라는 항목이 Binary정보인데. 바이너리 형태로 형식으로 저장하도록 한다.

1
2
3
4
5
6
7
8
9
CREATE TABLE `account` (
  `user_key` BIGINT NOT NULL AUTO_INCREMENT,
  `uuid` CHAR(40NOT NULL,
  `service_serial` CHAR(12) BINARY NOT NULL,
  PRIMARY KEY (`user_key`),
  UNIQUE INDEX `service_serial_UNIQUE` (`service_serial` ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
 

cs


대신 조회할때도 바이너리로 변경해서 불러와야 한다.


SELECT * FROM `account` WHERE binary(`service_serial`) like '%...%'


Key Index인 경우에는 검색할 키워드를 binary로 변경해서 하도록 하자.

SELECT * FROM [테이블명] WHERE (컬럼명) = binary '키워드';  


구글에서 검색해서 살짝 변경한 코드.


1
2
3
4
5
6
7
8
public static string GetRandomServiceSerial(int length)
{
    Random rand = new Random();
    string input = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    var chars = Enumerable.Range(0, length).Select(x => input[rand.Next(0, input.Length)]);
 
    return new string(chars.ToArray());
}

cs


'Mysql' 카테고리의 다른 글

Mysql Master Slave 동기화 끊겼을 시 처리  (0) 2019.05.13
Mysql 동적쿼리 결과값 반환  (0) 2019.03.20
스테이지 스코어 저장.  (0) 2019.03.11
Mysql 엔진  (0) 2019.03.07
Mysql Update Select  (0) 2019.01.11