2017-05-27 2 views
1

私はwhole_dataroom_tableの2つのテーブルを作成しました。私はwhole_dataのIDをroom_tableの外部キーとしてとり、手動ではなくHTMLフォームを通してデータを挿入しています。だから今私は混乱しています、私はroom tableの外部キーのフィールドに挿入する必要があります。コードとクエリを見てください。 room_tableの挿入を見ると、挿入する内容がわからないので、4番目の列の値は空白のままです。whole_dataテーブルのプライマリIDが必要です。2つのテーブル間にsql foreign keyカラムを挿入する必要があります

$whole_tab = "CREATE TABLE IF NOT EXISTS whole_tab (
    p_id int(100) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    agentName varchar(400), 
    price int(100), 
    grossArea varchar(100), 
    postCode varchar(50), 
    pricePerSqFt varchar(100), 
    prType varchar(100), 
    contact varchar(200), 
    prDesc varchar(5000), 
    prImgs varchar(3000), 
    prPdf varchar(1000), 
    prAddress varchar(1000) 
)"; 
$con->query($whole_tab);//Connect to table 
//Table one end 

    $room_tab = "CREATE TABLE IF NOT EXISTS room_tab (
    r_id int(100) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    bedRooms int(100), 
    bathRooms int(100), 
    otherList varchar(3000), 
    from_p_id int(100) REFERENCES whole_tab(p_id) 
    )"; 
    $con->query($room_tab);//Connect to table 

//INSERTION 

$ins_whole_tab = "INSERT INTO whole_tab VALUES(NULL,'$agName','$prPrice','$prGrossArea','$postCode','$prPerSqFt','$radioSel','$prContact','$prDesc','$imgPathsJson','$pdfPath','$prAddress')"; 
$con -> query($ins_whole_tab); 


//Insert Data 
$ins_room_tab = "INSERT INTO room_tab VALUES(NULL,'$bedRNum','$bathRNum','$otherRDet','')"; 
$con -> query($ins_room_tab); 

答えて

0

last_insert_id()は、最後に挿入された自動増分IDの値を返します。あなたの質問に使用してください:

$ins_room_tab = "INSERT INTO room_tab VALUES(NULL,'$bedRNum','$bathRNum','$otherRDet',last_insert_id())"; 
+0

ありがとう、それは働いた! –

関連する問題