티스토리 뷰

mysql 에서 insert구문 사용방법은 간단합니다. INSERT 테이블명(a,b,c,d) VALUES(v1,v2,v3) 이런식으로 넣습니다. 하지만 특정 값을 비교해서 값이 있거나 없을 경우에만 넣고 싶은 경우가 있습니다. mssql에서는 if문을 사용하여 손쉽게 비교 후 넣을 수 있었지만 mysql에서는 그것이 여의치 않더군요. 해결하려면 아래를 참고 하시면 됩니다.

test테이블

10

20 

30 

위와 같은 테이블이 있다고 가정하고 c에 30이라는 값이 있을 경우에만 값을 넣는 쿼리입니다.

  • INSERT INTO 테이블명 SELECT 값1,값2,값3 FROM DUAL WHERE EXISTS(SELECT a FROM 테이블명 WHERE 조건)
  • INSERT INTO   test     SELECT 100,200,300 FROM DUAL WHERE EXISTS(SELECT a FROM    test    WHERE c=30)

반대로 조건이 있을 경우가 아니라 없을 경우라면 EXISTS 대신 NOT EXISTS로 입력하면 됩니다.

INSERT 에서 INTO를 안쓰고 원하는 컬럼에만 값을 넣고자 한다면 아래와 같이 하면 됩니다.

  • INSERT test (a,b) SELECT 100,200,300 FROM DUAL WHERE EXISTS(SELECT a FROM    test    WHERE c=30)

컬럼명에는 ( )로 묶어주고 넣을 값에는 ( )없이 값만 입력해 주면 됩니다.

급하게 작성하느라 오타가 있을지 모르겠네요. 테스트도 안해본거라 직접 확인 해보고 사용하시기 바랍니다. 도움이 되었기를 바래봅니다.

이상 mysql insert구문 조건비교 후 넣는방법에 대해 알아보았습니다.

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday