0

以下に 2 つのテーブルを示します。

表1:

CustomerId  | CustomerName

表 2:

OrderId  | OrderNo  | CustomerId

今、単一のクエリを使用してテーブル2にレコードを挿入したい

Insert Into Table2 (OrderId,OrderNo,CustomerId) values (1,2456,( if select CustomerId from Customer where CustomerName = 'abc' is non-zero return id else insert into customer (CustomerId,CustomerName) values (1,'abc') return newly added customerid)

注: ID は自動生成され、無視できます。これは単に理解の観点からのものです。

つまり、レコードを table2 に挿入する必要があり、値customeridが存在する場合と存在しない場合があります。この状況を処理する必要があります。

4

2 に答える 2

0
/* first execute first query, */
$q1=mysql_query($sql1);  /* for first table */
$foreign_id=mysql_insert_id(); /* fetch last id from first table*/
$q2=mysql_query($sql2)  /* insert into second table use $foreign_id as foreign key */
于 2013-10-18T06:11:14.470 に答える