본문 바로가기

개발/BACK

[Mysql] insert update select 사용하기 예제 (insert update subquery)

728x90

INSERT 문에 SELECT 문 넣어서 사용하기 

!) tb_new_test 테이블의 id값이 여러 개가 있으면, 서브쿼리에서 2개 이상의 로우가 조회되어 오류남  

1
2
3
4
5
6
INSERT INTO tb_test(id,name,phone,email,new_id) 
VALUES (#{id},
        #{name},
        #{phone},
        #{email},
        (SELECT new_id FROM tb_new_test WHERE id = tb_test.id))
cs

 

 

 

UPDATE 문에 SELECT 문 넣어서 사용하기

!) tb_new_test 테이블의 id값(11100222)이 여러 개가 있으면, 서브쿼리에서 2개 이상의 로우가 조회되어 오류남

1
2
3
UPDATE tb_test
SET name =(SELECT desc_name FROM tb_new_test WHERE id = tb_test.id)
WHERE id = 11100222
cs

 

매퍼 XML 환경에서 개발할 때, 중복된 데이터가 있는 테이블에서는 해당 쿼리 사용을 하면 안된다. 

 

무조건 오류 발생 !

728x90