2014-04-25 7 views
0

일부 값 (예 : 'NDA')이있는 테이블을 삽입해야합니다. 이것은 삽입 할 값이 하나뿐이라면 잘 작동하는 것 같습니다. 나는 약 12 ​​개의 비슷한 값을 가지고 있는데, {NDA, SDM, APM}} 값을 삽입하기 위해이 쿼리를 조정할 수 있었는가? 스토어드 프로 시저없이 동일한 명령문을 붙여 넣거나 값을 변경하여 복사 할 수 있는지 궁금합니다.MySQL이 값 집합을 사용하여 테이블에 삽입

INSERT IGNORE INTO customer_feature (customer_id, feature) 
SELECT c.id, 'NDA' FROM 
customer as c 
where c.edition = 'FREE_TRIAL'; 

참조 : mysql -> insert into tbl (select from another table) and some default values

+0

값을 생성하는 조건은 무엇입니까? – geoand

+0

나는 당신을 팔로우하지 않습니다. MySQL의 모든 열은 기본값을 지정할 수 있습니다. 삽입 할 때 해당 열의 값을 지정하지 않으면 해당 레코드는 해당 열의 기본값을 가져옵니다. –

+0

varchars의 기본값은 무엇입니까? 나는 그것에 대해 너무 확신하지 않는다. 그러나 나는 그것이 데이터베이스 의존의 것 같아요. – Peter

답변

2

이 당신이 원하는 무엇인가?

INSERT IGNORE INTO customer_feature(customer_id, feature) 
    select c.id, f.feature 
    from customer c cross join 
     (select 'NDA' as feature union all select 'SDM' union all select 'APM' 
     ) f 
    where c.edition = 'FREE_TRIAL'; 
+0

고든 고마워! 이것이 내가 원하는 것입니다. – Chinmay

+0

대답은 그 질문을 분명히합니다. – Peter

관련 문제