개발/Database

MySql] Insert Select 문

신매력 2012. 8. 28. 13:31


INSERT table1 (id, name, status, date)
SELECT id, name, 'GOOD', now()    /* id, name은 셀렉트된 값이고, 나머지 값은 임의로 넣은것 */
FROM table2    /* insert 의 테이블과 같아도 상관 없다 */
WHERE id=3
HAVING COUNT(*)=0


INSERT SELECT문을 한문장으로 정의하면
SELECT 된 값을 INSERT에 있는 테이블에 삽입하는 것이다. 


먼저 SELECT 문을 보자.
table2 라는 테이블에서 id가 3인 데이터가 있는지 없는지 검사하고
그 데이터가 몇개인가 검사해서 0개라면 
SELECT 옆에있는 값들을 table1에 INSERT 한다.