2016-11-11 3 views
0

where 절을 사용하여 한 테이블의 내용을 다른 where 절로 동일한 테이블로 복사하는 방법은 무엇입니까?SQL INSERT where 절에서 다른 where 절로

따라서 선택 쿼리는 다음과 같습니다. SELECT * FROM items where countryNr = 5;

위 쿼리의 모든 데이터를 예를 들어 countryNr = 1에 삽입하려고합니다.

그래서 countryNr = 5와 CountryNr = 1은 결국 동일한 데이터를 가져와야합니다. 내가 질문을하지만, 뭔가 같은 이해 확실하지 않다

+2

가능한 복제 [행을 복사와 MySQL의 자동 증가 필드와 동일한 테이블에 삽입하는 방법?] (http://stackoverflow.com/questions/9156340/how-to-copy- a-row-and-insert-in-a-autoincrement-field-in-mysql) – raumkrieger

+0

W ouldn't 선택의 모든 값을 철자 (* 사용하는 대신) 및 간단하게 countryNR에 대한 필드 이름 대신 1에 넣어 선택? 또는 http://upackoverflow.com/questions/5253302/insert-into-select-for-all-mysql-columns의 dup일까요? – xQbert

답변

1
더 INSERT보다 UPDATE처럼 기술 한 내용을

... 이 같은 :

update item 
set (field1, field2) = (select field1, field2 from item where countrNR = 5) 
where countrNR = 1 
+0

나는 그것이 효과가 있다고 생각한다. 나는 나중에 시도 할 것이다. 나는 전에 이것을 시도 했었지만, 내가 생각한 것처럼 실제로는 효과가 없었다. INSERT INTO ts_items (BtnNr, ScreenNr, DepartNr, FunctionNr, TypeNr, ItemNr, BtnText, BonText, Qty, Price, MWStSatzNr, Enabled, Visible, TextColor, LastUpdate, VirtualKeyNr) SELECT BtnNr, ScreenNr, DepartNr, FunctionNr, TypeNr, ItemNr, BtnText , BonText, 수량, 가격, MWStSatzNr, 사용 가능, 표시 가능, TextColor, LastUpdate, VirtualKeyNr FROM ts_items WHERE FilialNr = 5 –

0

... 당신의 쿼리가 뭔가 할 수있는 경우에 mySQL docs for insert into select

Insert into items Select Field1, Field2, Field3, Field4..., 1 as countryNR 
from items where countrNR = 5 
관련 문제