안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2013년 7월 23일 화요일

[MySQL] Insert where not exists

Insert into Table1 (col1, col2)
select 'val1', 'val2' from Table2
where not exists
(
      select col1, col2
      from Table
      where col1 = 'val1' and col2 = 'val2'
 )

where not exists 문 아래 select 문에 값이 없을 때
Insert 처리 한다.
do0park.blog.me/40134359319


INSERT INTO propval (tocid, prop_id, pos, str_val)
VALUES (tocid, 1, 0, 'No')
WHERE NOT EXISTS (SELECT * FROM propval WHERE prop_id = 1)

Insert 시 select 쓰지 않는 소스

http://www.dbforums.com/microsoft-sql-server/1640697-insert-where-not-exists.html

위 두 방법이 되지 않는 다면...

INSERT INTO Table(col1, col2, col3) SELECT col1, col2,col3  FROM DUAL WHERE NOT EXISTS ( SELECT col FROM Table WHERE col = val1)

value 대신 Select 문을 사용하여 Insert 진행하고 From Dual 즉 더미 Table 을 적어 주고,

Where not exists 문에 Select 문을 넣으면 동작한다.