728x90
반응형
PRIMARY KEY를 복수개를 사용할 경우, 외래키를 사용하는 것이 쉽지 않다. 그럴 경우에는 데이터의 무결성을 지켜기 위해서 CASCADE를 직접 구현해야 할 때가 있다. 그 중에서 UPDATE의 경우에 'REPLACE'라는 명령어를 사용하면 쉽게 구현할 수 있다.
- Column에서 특정 문자를 변경해서 표시할 경우
SELECT REPLACE(필드명, TARGET, NEW) FROM 테이블명;
- Column의 특정 문자를 변경해서 업데이트 할 경우
UPDATE 테이블명 SET 필드명 = REPLACE(필드명, TARGET, NEW);
상기와 같은 명령을 실행하게 되면 테이블에서 TARGET 데이터가 NEW 데이터로 일괄 변경되어 버린다. 이 때 특정 조건을 이용하여 변경될 데이터를 제약할 수 있다.
UPDATE 테이블명 SET 필드명 = REPLACE(필드명, TARGET, NEW) WHERE 조건문;
실제 데이터를 사용한 예시를 살펴보면 아래와 같다.
UPDATE `submachtbl` SET -- 테이블 submachtbl 에서
machID = REPLACE(machID, 'mc1', 'mc2') -- machID 필드에서 'mc1'를 'mc2'로 변경한다.
WHERE machID='mc1' AND machName='newMc'; -- 단, machID는 'mc1'이고 machName은 'newMc'에 한해서
일괄 변경해주기 때문에 Procedure를 구현하지 않은 상태에서 빠르게 변경해줄 수 있다.
728x90
반응형
'DB > MySQL' 카테고리의 다른 글
[MySQL] SHOW TABLES 테이블 정보 확인 (0) | 2021.05.25 |
---|---|
[MySQL] STRCMP - 문자열 비교 (0) | 2021.05.03 |
[MySQL] LEAVE , 프로시저 중에 중단하기 (0) | 2021.04.27 |
[MySQL] LENGTH, CHAR_LENGTH 문자열 길이 확인 (0) | 2021.04.27 |
[MySQL] REGEXP_REPLACE 한글, 영문, 특수문자, 숫자 제거 (0) | 2021.04.27 |