MySQL의 한 테이블에서 다른 테이블로 데이터를 복사하고 싶습니다.
표 1 (기존 테이블) :
aid
st_id
from_uid
to_gid
to_uid
created
changed
subject
message
link
표 2 (새 테이블)
st_id
uid
changed
status
assign_status
표 1의 일부 데이터 필드를 표 2에 복사하고 싶습니다.
MySQL 쿼리를 사용하여이 작업을 수행 할 수 있습니까?
MySQL의 한 테이블에서 다른 테이블로 데이터를 복사하고 싶습니다.
표 1 (기존 테이블) :
aid
st_id
from_uid
to_gid
to_uid
created
changed
subject
message
link
표 2 (새 테이블)
st_id
uid
changed
status
assign_status
표 1의 일부 데이터 필드를 표 2에 복사하고 싶습니다.
MySQL 쿼리를 사용하여이 작업을 수행 할 수 있습니까?
답변:
이것은 당신이 원하는 것을 할 것입니다 :
INSERT INTO table2 (st_id,uid,changed,status,assign_status)
SELECT st_id,from_uid,now(),'Pending','Assigned'
FROM table1
table1의 모든 행을 포함하려는 경우 그렇지 않으면 table1의 서브 세트 만 추가하려는 경우 끝에 WHERE 문을 추가 할 수 있습니다.
이게 도움이 되길 바란다.
필드를 나열하지 않고 테이블 구조가 동일한 경우 다음을 수행 할 수 있습니다.
INSERT INTO `table2` SELECT * FROM `table1`;
또는 동일한 구조로 새 테이블을 만들려는 경우 :
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
[AS]대괄호 안에 왜 , AS여기에 의해 수행
AS다른 SQL 방언에서는 필수적 이라고 생각합니다 .
CREATE TABLE newTable LIKE oldTable;
그런 다음 데이터를 복사
INSERT INTO newTable SELECT * FROM oldTable;
가장 좋은 옵션은 mysql에서 INSERT ... SELECT 문을 사용하는 것입니다.
SELECT *
INTO newtable [IN externaldb]
FROM table1;
INSERT INTO Table1(Column1,Column2..) SELECT Column1,Column2.. FROM Table2 [WHERE <condition>]
먼저 table2를 작성해야합니다.
table2 (field1, field2, ...)에 삽입 field1, field2, ...를 선택하십시오. table1에서 어디 조건;