2013-08-12 5 views
0

저는 하나의 테이블에서 다른 테이블로 데이터를 삽입하고자하는 테이블 1, 테이블 2 및 테이블 3을 가지고 있습니다. 신청서는 모집 시스템에 관한 것입니다. T1의 사용자 이름과 암호를 포함하는 테이블Sql은 3 개의 테이블을 연결합니다.

t1 
---------- 
ID USERNAME PASSWORD 

표 2

t2 
---------- 
ID ID_t1 NAME LASTNAME BIRTH POSITION 

The table 3 contains information about the skills 
t3 
---------- 
ID ID_t1 ID_t2 SKILLS DEGREE EXPERIENCE 

그래서, T3에 T1의 ID를 저장하려는 신청자의 기본 정보를 포함 그리고 t2의 ID. 나는 위치에 따라 시스템이 다른 테이블에 값을 저장해야하기 때문에 3 테이블이 필요합니다. 예를 들어 사용자가 계산원 시스템을위한 포션을 선택하면 다른 필드가 표시되지만 사용자가 개인 비서를위한 potision도 원한다면 시스템 저장소 만 기술 정보.

INSERT 쿼리로 어떻게 저장할 수 있습니까?

+2

이 경우 트리거를 조사하고 싶을 수 있습니다. – Yalamber

+1

이미 시도한 내용 –

+0

@ user2673219 편집 기능을 사용하여 원래 질문에 코드를 추가하십시오. – rjmunro

답변

1

INSERT ... SELECT 문으로 문제를 해결할 수 있습니다. 테스트되지는 않았지만 다음 SQL 코드는 두 테이블의 값을 하나로 결합 할 수 있습니다.

INSERT INTO t3 (ID_t1, ID_t2) 
    SELECT t1.ID, t2.ID 
    FROM t1, t2 WHERE t2.ID_t1 = t1.ID 
+0

나는 그것을 시도했다, 그것은 효과가있는 것 같지만 데이터베이스에 그 값을 삽입하지 않습니다. – user2673219

+0

방금 ​​테이블을 만들었고 첫 번째 시도에서 작동했습니다. 다른 문제가있을 수 있습니다. T3에서는 ID 필드에 대한 고유 색인이있을 수 있지만 자동 증가되지는 않습니다. – bkilinc

+0

오류가 발생했습니다. 첫 번째 테이블의 ID가 세션에 저장되어있는 두 번째 테이블의 ID를 찾을 수 없습니다. '$ t1.id = ($ _ SESSION ['t1.id ']);' 하지만 나는 table's2 id를 찾기 위해 무엇을 써야할지 모르겠다. – user2673219

관련 문제