2017-12-05 6 views
1

우리는 데이터베이스 마이그레이션 작업을하고 있으며 아래 표와 같이 두 번째 테이블에서 여분의 열을 찾는 작은 문제에 직면 해 있습니다.두 번째 테이블에있는 여분의 열을 찾을 MySql 쿼리

먼저 테이블 - employee_data

col a - id 
col b - name 
col c - age 

두 번째 테이블 - 우리는 수동으로 여분의 열을 추가하고 데이터 집합을 삽입하여 제 1 및 제 2 테이블을 병합하려고

col a - id 
col b - name 
col c - age 
col d - address 
col e - phoneNo 

employee_data_fp. 누락 된 열을 찾으려면 쿼리 작성을 도와주십시오. 미리 감사드립니다.

답변

0

동적 SQL을 사용하여 쿼리를 작성하려는 경우가 아니라면 실제로 누락 된 열을 찾는 쿼리가 필요하지 않습니다. 간단하게하기 위해, 왜 단지 SHOW CREATE TABLE를 사용하지 :

SHOW CREATE TABLE table2; 

이것은 콘솔에 문을 만들 에코 것입니다. 열 이름을 표시하는 것 외에도 유형, 제한 조건, 기본값 및 기타 잠재적으로 유용한 몇 가지 사항이 표시됩니다. ... 귀하의 제안 작품을

SELECT t2.COLUMN_NAME 
FROM 
(
    SELECT COLUMN_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE 
     TABLE_SCHEMA = 'yourDB' AND 
     TABLE_NAME = 'table2' 
) t2 
LEFT JOIN 
(
    SELECT COLUMN_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE 
     TABLE_SCHEMA = 'yourDB' AND 
     TABLE_NAME = 'table1' 
) t1 
    ON t2.COLUMN_NAME = t1.COLUMN_NAME 
WHERE t1.COLUMN_NAME IS NULL; 
+0

감사합니다 팀을하지만 우리는 첫 번째와 두 번째 테이블을 추가됩니다

처음에 나타나지 않는 두 번째 테이블에 고유 한 열을 표시하는 쿼리가 필요한 경우,이 시도 표. 이 작업을 계속하면 누락 된 열을 비교하고 추가하는 데 더 많은 시간이 걸릴 수 있습니다. – SnehaBNaveen