我对MySQL语法有一个“不寻常”的问题。
我有两张桌子:
table1:commodityAttributes并且 7 列
id
,id_commodity
,parameter
,value
,units
,type
,notes
table2:trade_commodity并且 8 列
id
,id_trade
,id_commodity
,parameter
,value
,units
,type
,notes
注意:两个表的主键都是'id',这是我不想复制的
我想要的是将所有列从table1复制到table2,但也为table2中的id_trade
创建值。
请看一下table1和table2的列数不同,而table2上的id_trade
不是auto_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'
id_trade的'10'
来自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?
请帮助我,谢谢你。
答案 0 :(得分:2)
这是否有效:
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