2012-02-26 11 views
-1

私は2つのテーブルProductionProduction_Detailを持っています。 Production_Detailは何らかの注文の詳細を保持し、Productionへの外部キーを持っています。 Productionに行を挿入すると、自動的にインクリメントする列がその行のキーを設定します。そのキーが、Productionにマスター行を挿入した後に挿入される新しいProduction_Detail行とリンクできるように、そのキーが必要です。 PHPを使用して新たに挿入されたインデックス値を返します

、私はデータを挿入します。

insert into Production Values ('','$producer_id','$order_date','$company_id','$emp_id'); 

私はそれが後で帖のために使用することができるように、その''部分を見つける必要があります。

+0

あなたが挿入 –

+0

http://stackoverflow.com/questions/2266604/select-last-insert-を実行するために使用するものの関数やメソッドに依存しますid何度も重複しています。 –

+0

これを呼び出すためにajaxを使用しています。他の挿入キーでそのIDを使用できるように、そのIDが必要です。 – Namit

答えて

0

機能を使用することができますでは、使用しているもののmysql /クエリ拡張を依存しますが、PHPは、最も最近に挿入された行の自動インクリメント値を返すようにmysql_insert_id機能を持っています。

0

あなたはPDOを使用している場合は、

$id = $pdo->lastInsertId(); 
+0

そのスクリプトを使用しているユーザーが複数いる場合はどうなりますか?それは紛争を起こさないでしょうか? – Namit

+0

いいえ、私はそれを説明する正確な方法はわかりませんが、データベースと同じ "接続"のため、上のクエリのIDを得ることができます。たぶん誰かが正確に説明することができます。 – romainberger

+0

ありがとう!私はその説明を読んで、それは 'mysql_connect()'との接続を開きます。 – Namit

0

は、データベースを使用している方法に応じて、データベース変数を渡す必要があります。

mysqlの

$last_id = mysql_insert_id($db); 

mysqliの

$last_id = mysqli_insert_id($db); 
関連する問題