2017-12-30 26 views
0

に2つの異なるクエリ私は2つのテーブルを持って、彼らはマージINSERT内の1つの(PHP)

name 
- fname 
- sport_id (FK) 

sports 
- id (PK) 
- football 
- basketball 

ているので、私は、INSERT

mysqli_query($mysqli, "INSERT INTO name(fname) 
    VALUES('$fname')"); 
mysqli_query($mysqli, "INSERT INTO sprots(football, basketball) 
    VALUES('$football','$basketball')"); 

のためにこれをやったことが正しいのですか? 1つのクエリにそれらをマージする必要がありますか?関係とIDはどうですか?コメントで示唆したように

+1

「スポーツ」テーブルを挿入します。最後のインサートIDを取得し、次に 'name'テーブルを挿入します。ゲームオーバー –

+1

最初に 'sports'テーブルに挿入し、最後に挿入したIDを取得して名前テーブルに挿入します。 –

+0

' INSERT INTO sprots'は 'INSERT INTO sports'となるはずです – RamRaider

答えて

3

あなたはsportsテーブルに最初に挿入データに必要とはsportsテーブルから最後に挿入IDを取得して、最後に挿入を取得するには名前のテーブルに

を挿入しますid

mysqli_query($mysqli, "INSERT INTO sports(football, basketball) VALUES('$football','$basketball')"); 

$last_id = mysqli_insert_id($mysqli); 

mysqli_query($mysqli, "INSERT INTO name(fname,sport_id) VALUES('$fname','$last_id')"); 
+0

+ 1 –

+0

ありがとう!!! !! – Deep

+0

はUPDATEと同じですか? mysqli_update_idのようなものがありますか? –

1

:その後、

// Insert into sports table 
mysqli_query($mysqli, "INSERT INTO sports(football, basketball) 
    VALUES('$football','$basketball')"); 

// Get last inserted id (in sports table) 
$sport_id = mysqli_insert_id($mysqli); 

// Insert it into name table 
mysqli_query($mysqli, "INSERT INTO name(sport_id,fname) 
VALUES('$sport_id','$fname')"); 
関連する問題