2017-06-10 5 views
-1

私はWebベースのプロジェクトに取り組んでいます。 PHP 5.4およびMySQL 5.5.54-cllのLinuxベースのWebサイト。親子関係テーブルへのレコードの投稿

私は販売請求書を保存する必要があります。

1)sale1(親テーブル、ユニークな自動インクリメント)

2)sale2(子テーブルとして有するID、INTとしてPARENTIDを有する)

問題である。そのため、私は2つのテーブルを作成しています私はsale1に行を挿入し、次にsale2にある多くのレコードを挿入する必要があります。sales2.parentID = sale1.ID

私はMS Accessで作成するような関係(一対多)を作成したいと思います。

答えて

1

あなたが外部キー(read here)と子テーブルを作成する必要があります。PHPで

CREATE TABLE Parent (parentID int primary key auto_increment, parentNAME varchar(20)); 

CREATE TABLE Child (childID in primary key auto_increment, 
parentID int, 
FOREIGN KEY (parentID) 
    REFERENCES Parent(parentID)); 

あなたがする必要があります。

  1. 親行
  2. がにmysql_insert_idを使用して親IDを取得挿入(使用する関数は、使用しているmysqlライブラリによって異なります。mysql_insert_id on phpについてのマニュアルを参照してください)
  3. 子行uを挿入しますmysql_insert_idを親IDの値として返す
+0

OK。ありがとうございました。 mysql_insert_idの指示は "以前のクエリ(通常はINSERT)によってAUTO_INCREMENT列に対して生成されたIDを取得します。" しかし、auto_incrementは自分の挿入によってのみ返されますか?私は他の多くの人々も同じ時間にデータを挿入することを意味します。それで、私のINSERTクエリでauto_incrementを実行することはできますか? –

+0

最後の挿入IDは接続ごとです。 – Tamar