2017-10-07 2 views
1

mysqli form1에서 table1과 table2로 생성했습니다. Table1은 성, 성, 나이와 같은 데이터를 유지합니다. 테이블 2 keepds는 bodyweight 및 bodyfat 데이터를 보유합니다.새 테이블에 mysqli로 2 개의 테이블 조인 및 삽입 된 새로운 데이터 표시 문제가 발생했습니다

Create table table3 as 
Select table1.firstname, table1.lastname, table2.bodyweight 
From table1 
LEFT JOIN table2 ON table1.table1_id = table2.table2_id; 

문제가 있다는 것입니다 :

는 나는이 이름, 성 및 체중은 (이미 테이블에 삽입되지만 데이터 만) 표시됩니다 표 3 새로운 만들기 위해이 코드를 사용 내가 table1에 새 데이터를 삽입 할 때 table3에 표시되지 않았습니다 ... 원인에 대한 의견이 있습니까?

답변

1

그런 식으로 테이블을 생성하면 선택한 데이터가 복사되어 새 테이블에 삽입됩니다. 이 작업이 완료되면이 새 테이블과 쿼리에 사용 된 테이블 간에는 더 이상 관계가 없습니다. 당신이 table1table2이 업데이트 될 때마다 자동으로 업데이트하려면

대신 뷰를 만들 수 있습니다

Create view table3 as 
Select table1.firstname, table1.lastname, table2.bodyweight 
From table1 
LEFT JOIN table2 ON table1.table1_id = table2.table2_id; 
+1

간단 설명! 덕분에 많이, 나는 며칠 동안 고생했습니다 ... –

+0

안녕하세요! 빠른 질문. 보기를 테이블처럼 편집 할 수있는 방법이 있습니까? –

+0

@ath_zach 네,하지만 왼쪽 조인은 아닙니다. 자세한 내용은 [Updatable and Insertable Views] (https://dev.mysql.com/doc/refman/5.7/en/view-updatability.html)의 MySQL 설명서를 참조하십시오. – Mureinik

관련 문제