1

MySQL 構文に「異常な」問題があります。

私は2つのテーブルを持っています:

table1: 商品の属性で、7 つの列 がありますid, id_commodity, parameter, value, units,typenotes

table2: trade_commodity で、8の列 がありますid, id_trade, id_commodity, parameter, value, units,typenotes

注:両方のテーブルの主キーは「id」です。これはコピーしたくありませんでした

私が欲しいのは、テーブル1からテーブル2にすべての列をコピーするだけでなく、テーブル2に値を作成することですid_trade

table1 と table2 の列数が異なり、table2 はid_tradeauto_increment ではないことを確認してください。

実際の結果と望ましい結果の例を次に示します。

table1: 
id,id_commodity,parameter,value,units,type,notes 
1, 1, 'Ash','10','%','min','ash for a commodity' 
2, 1, 'Ash 2','15','%','max','ash for a commodity' 

コピー手順を実行すると、次が生成されます。

table2:
id,id_trade,id_commodity,parameter,value,units,type,notes 
1,NULL,1, 'Ash','10','%','min','ash for a commodity' 
2,NULL,1, 'Ash 2','15','%','max','ash for a commodity' 

私が欲しいのはtable2の結果です:

id,id_trade,id_commodity,parameter,value,units,type,notes
1,10,1, 'Ash','10','%','min','ash for a commodity'
2,10,1, 'Ash 2','15','%','max','ash for a commodity'

これは'10'id_trade 用で、php var.

どうすればこれを達成できますか? それとも別のトリッキーがありますか?ところで、私は PHP と MySQL を使用してこのタスクに取り組んでいます。

編集:これには「同様の」問題がありますが、彼は値ではなくコマンドを使用しようとしていることがわかりました

親切に助けてください、ありがとう。

4

1 に答える 1

3

これは機能しますか:

insert into table2 (id_commodity,parameter,value,units,type,notes)
select id_commodity,parameter,value,units,type,notes
from table1

更新: OP によって提供される追加情報に照らして、これは OP が探しているソリューションである必要があります。

insert into table2 (id_trade, id_commodity,parameter,value,units,type,notes)
select '10', id_commodity,parameter,value,units,type,notes
from table1
于 2013-09-09T20:00:08.210 に答える