MySQL에서 약간의 의문이 있습니다. 한 테이블에서 다른 테이블로 데이터를로드하는 동안 나는 하나의 문제에 직면MySQL에서 동적으로 누락 된 열을 처리하십시오.
첫 번째 테이블 : EMP
id | name | sal | deptno | loc | referby
1 | abc | 100 | 10 | hyd | xyz
2 | mnc | 200 | 20 |chen | pqr
초 테이블 :
id | name | sal | deptno | loc | referby
지금 나는에 emp
테이블 데이터를로드 할 emprefers emprefers
테이블. 내가
insert into emprefers select * from emp after
같은 쿼리를 작성, 데이터는 다음과 같은 emprefers
테이블에로드 :
id | name | sal |deptno | loc |referby
1 | abc | 100 | 10 | hyd | xyz
2 | mnc | 200 | 20 | chen | pqr
은 이제 동일한 쿼리를 두 번째로 달렸다. 실패했습니다. 이유는 이름 열이
emp
테이블에서 삭제 되었기 때문입니다.
내가 좋아하는 쿼리를 편집 : 다시 편집 된 쿼리를 실행 한 후, 현재 기록은
emprefers
테이블에로드되는 데이터는 아래와 같다
insert into emprefers select id,'null'as name,sal,deptno,loc,referby from emp
:로드하기 전에
id | name | sal |deptno | loc |referby
1 | null | 100 |10 | hyd | xyz
2 | null | 200 |20 |chen | pqr
때마다 emprefers
테이블 emprefers
테이블 데이터를 잘라냅니다. 그리고 emprefers
테이블 구조는 변경되지 않았습니다.
다시 한번 동일한 쿼리를 다시 실행했습니다. 쿼리가 실패했습니다. 이유는 emp
테이블에 sal
및 deptno
열이 없기 때문입니다.
다시 쿼리를 편집하고 싶지 않으므로 emp
테이블에서 삭제할 열을 알 수 없습니다. 이번에는 문제를 해결하고 싶습니다.
테이블에서 열을 사용할 수있는 경우 두 번째 테이블에 데이터를로드 한 다음 데이터를로드하십시오. 그렇지 않으면 null
또는 해당 열의 값을 전달해야합니다.
열이 있는지 여부를 확인하는 쿼리를 작성하는 방법과 같은 열을 검색 할 수있는 쿼리가있는 경우 해당 열에 null
값을 지정하십시오.
mysqli의 관련성은 무엇입니까? mysql-workbench? mysql-error-1064? –