2010-03-31 3 views
3

나는 다음을 수행하는 질의를 필요로?MySQL의 INSERT 쿼리

INSERT into towns (id, country_fk, name) 
values (1, (SELECT countryID from countries where country = 'UK'), 'London') 
+0

당신이 마을의 ID에 대한 자동 증가 필드를 사용하여 생각 해 봤나 다음과 같이 하나의 옵션은 INSERT ... SELECT syntax을 사용하는 것입니다? –

답변

5

예는 가능하다 : 나는 당신이 하위 쿼리를 사용할 수있는 여러 인서트에 (100)

+0

30 초, gosh – vittore

+1

@vittore : 우리는 이것을 "서쪽에서 가장 빠른 총"이라고 부릅니다. http://meta.stackexchange.com/questions/9731/fastest-gun-in-the-west-problem –

+0

grazzi siehbi : o) – mouthpiec

1

을 사용할 수 있도록

UPDATE 내가 한 번 값을 저장해야합니다.

INSERT INTO towns (id, country_fk, name) 
SELECT 1, countryID, 'London' FROM countries WHERE country = 'UK'; 
+0

감사합니다 zerkms,하지만 여러 INSERTS (약 100)에서 사용할 수 있도록 한 번 값을 저장해야합니다. – mouthpiec

+0

'SQL 구문에 오류가 있습니다. 'where country ='UK '),'London ')'근처에서 사용할 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. ' –

+0

@Mark : 응답에서'from '절이 누락되었습니다. 오류가 있습니까? – user187291

1
insert into towns(id, countrt_fk, name) 
select 1 , countrt_fk , 'London' from Countries where country = 'UK'