Dev./persistence
[mysql] 복합키용 컬럼에 SHA 256 적용하기
인쥭
2021. 11. 12. 18:16
반응형
UPDATE People SET CompositeKey = SHA2(CONCAT(Id, Email), 256) WHERE Name='admin';
- People 테이블에 Id, Email, Name 컬럼이 포함되고, Id와 Email을 SHA256으로 해싱한 값을 'CompositeKey'에 저장하는 예제이다.
- 기존에는 People 테이블에 Id / Email 조합에 UQ를 걸어서 사용하였으나,
모종의 이유로 CompositeKey를 추가하고 UQ 설정을 걸어주게 되었다. - 이에 따라 기존 엔티티들은 새로 추가된 컬럼인 CompositeKey의 값이 비어 있으므로, 이를 채워주기 위해 위 명령어를 사용하였음!
- Where Name 절은 예시일 뿐이므로, Id IN(...) 등을 통해 한 번에 여러 레코드에 적용하기 위한 방법은 적절히 사용하자.