2017-10-07 4 views
1

私はmysqli form1でtable1とtable2で作成しました。 表1は、ファーストネーム、ラストネーム、年齢、のようなデータを保持します。表2 keepdsの体重と体脂肪のデータ。新しいテーブルにmysqliで2つのテーブルを結合し、新しい挿入データを表示するのに問題があります

IはFIRSTNAME、LASTNAMEおよび体重を表示(すでにテーブルに挿入されているデータのみ)されている表3新しいを作るためにこのコードを使用する:

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

問題があること私は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はい。ただし、 'left join'ではありません。詳細については、MySQLの[Updatable and Insertable Views](https://dev.mysql.com/doc/refman/5.7/en/view-updatability.html)のドキュメントを参照してください。 – Mureinik

関連する問題