我对MySQL语法有一个“不寻常”的问题。
我有两张桌子:
表1:商品贡品,有7列
idid_commodityparametervalueunitstypenotesid
表2:贸易商品,有8列
id_tradeid_commodityparametervalueunitstypenotesid_tradeid_trade
注意:两个表的主键都是'id',这是我不想复制的
我想要的是将所有列从table1复制到table2,同时为table2中的'10'创建值。
请注意,表1和表2的列数不同,表2上的不是自动递增的。
下面是实际结果和期望结果的示例:

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'

我想要的是表2的结果:
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'

这是对于id_trade来自php var。
我怎样才能做到这一点?还是还有其他棘手的问题?
顺便说一下,我正在使用PHP和MySQL来完成这个任务。
编辑:
我看到了这个“相似”的问题,但我发现他试图使用命令而不是价值
MYSQL: How to copy an entire row from one table to another in mysql with the second table having one extra column?
请帮帮我,谢谢。

最佳答案

这有效吗:

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

关于php - 如何将具有不同列数的行从一个表复制到另一表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18705996/

10-16 22:08