2012-08-24 2 views
0

데이터베이스에 저장된 두 테이블을 PID로 조인하고 새 테이블을 아래 테이블과 같이 저장하려고합니다.MySQL이 ON 절을 사용하여 테이블을 결합하고 저장

CREATE TABLE mod_table_INPUT_TARGET 
SELECT * 
FROM mod_table_DMRF 
INNER JOIN mod_table_2 
    ON mod_table_DMRF.tDMRF_ACE_ID = mod_table_2.t2_ACE_ID; 

ERROR 1005 (HY000) :

내가 MySQL의 오류를 이해하지 못하는 : 테이블 'py_db.mod_table_INPUT_TARGET' (139 errno에를) 만들 수 없습니다. 모든 열은 두 테이블에서 서로 다른 이름을가집니다.

EDIT : ACE_ID에 조인 된 mod_table_2 및 mod_table_DMRF를 조인하여 새 테이블 mod_table_INPUT_TARGET을 만들고 싶습니다. 나는 innodb를 사용하고있다.

+0

당신이하려는 일이 명확하지 않다고 설명 할 수 있습니까? – Taryn

+0

@bluefeet : 나는 그가 무엇을하려고하는지 꽤 분명하다고 생각합니다. 그는 [쿼리 결과를 기반으로 새 테이블을 만들려고합니다.] (http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html). – Travesty3

+2

이 경우에는'SELECT *'를 사용하는 것은 좋지 않습니다. 적어도 하나의 열이 항상 다른 열의 정확한 복제본이라는 것을 알고 있습니다. 새로운 테이블에서,'tDMRF_ACE_ID'는 ** 항상 **'t2_ACE_ID'와 같은 값을 가질 것입니다. 아마도 열을 명시 적으로 선택하려고 시도 할 것인가? – Travesty3

답변

0

행 메모리 제한을 초과하는 열이 너무 많습니다. 가장 중요한 칼럼으로 축소 한 이후로 나는이 진술을 실행할 수있다.

관련 문제