728x90
반응형
MySql에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE
*하나의 쿼리로 두 가지 경우를 해결할 수 있다.
▷ 사용법
INSERT INTO [TABLE]
(
[COLUMN1],
[COLUMN2],
[COLUMN3],
[COLUMN4]
)
VALUES
(
[VALUES1],
[VALUES2],
[VALUES3],
[VALUES4]
)
ON DUPLICATE KEY UPDATE
[COLUMN2] = [VALUES2],
[COLUMN3] = [VALUES3],
[COLUMN4] = [VALUES4];
▷ Example
/** 테스트 테이블 생성 */
CREATE TABLE test
(
TEST_ID varchar(225) NOT NULL,
TEST_NAME varchar(225) NOT NULL,
TEST_CODE varchar(225),
TEST_USE varchar(225),
PRIMARY KEY(TEST_ID)
);
/** ON DUPLICATE KEY UPDATE TEST */
INSERT INTO test
( TEST_ID ,TEST_NAME ,TEST_CODE ,TEST_USE )
VALUES
( 'T2308020001', '테스트2308020001', '테스트-Insert', '1')
ON DUPLICATE KEY UPDATE
TEST_NAME = '테스트2308020002' , TEST_CODE = '테스트-Update', TEST_USE = '2';
▷ 결과 확인
① 처음 실행 한 결과
② 다시 실행한 결과
▷ 관련 글
Mybatis Oracle MERGE INTO 구문
Oracle에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE *하나의 쿼리로 두 가지 경우를 해결할 수 있다. ▷ 사용법 --쿼리 대상 [TABLE/VIEW] MERGE INTO [TABLE/VIEW] --비교대상 [TABLE/VIEW], DUAL은 위와
coding-today.tistory.com
728x90
728x90
'▶ Back-End > DataBase' 카테고리의 다른 글
Docker MariaDB 설치 방법 및 기본 사용 방법 (0) | 2024.07.01 |
---|---|
Cassandra Snapshot Backup And Restore 방법 (2) | 2023.10.04 |
Mybatis Oracle BEGIN-END(PL/SQL) (0) | 2021.02.04 |
Mybatis foreach문(반복문/동적 SQL) (0) | 2021.02.04 |
Mybatis Oracle Paging Query(더보기 기능) (0) | 2021.02.03 |
댓글