본문 바로가기
MySql

MySQL 테이블에서 다른 mysql로 ​​일부 열을 복사하는 방법

by 베이스 공부 2021. 2. 4.
반응형

다음과 같은 두 개의 테이블이 있습니다.

1 번 테이블:

|A|B|C|D|E|F|G|H|I|J|

표 2 :

|A|C|D|E|G|H|J|K|L|M|N|O|P|

표 2에서 표 1로 일부 열을 복사해야합니다. 내가 시도하는 것은 :

INSERT INTO `table 1` (`C`,`D`,`E`,`G`,`J`)
     SELECT `C`,`D`,`E`,`G`,`J` FROM `table 2` WHERE 
     `table 1`.`A` = `table 2`.`A`;

그러나 결과 :

#1054 - Unknown column 'table 1.A' in 'where clause'

오류는 어디에 있습니까? 누군가 나를 도울 수 있습니까?

내 오류는 새 행을 삽입 할 필요가 없지만 A 열과 일치하는 행을 업데이트한다는 것입니다. 어떤 방식으로 쿼리를 편집해야합니까? 감사!

 

해결 방법

 

이 시도::

INSERT INTO `table1` (`C`,`D`,`E`,`G`,`J`) VALUES
     (SELECT `C`,`D`,`E`,`G`,`J` FROM `table2` WHERE 
     `table1`.`A` = `table2`.`A`);

수정 ::

업데이트 만 필요한 경우 ::

    update table1 
    inner join table2 on table1.A = table2.A
    set 
    table1.C=table2.C, 
    table1.D=table2.D,
    table1.E=table2.E, 
    table1.G=table2.G,
    table1.J=table2.J
    WHERE 1=1
    ;

 

참조 페이지 https://stackoverflow.com/questions/11517913

 

 

반응형

댓글