서비스 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(40) NOT 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 |