我对MySQL语法有一个“不寻常”的问题。
我有两张桌子:
表1:商品贡品,有7列id
,id_commodity
,parameter
,value
,units
,type
,notes
,id
表2:贸易商品,有8列id_trade
,id_commodity
,parameter
,value
,units
,type
,notes
,id_trade
,id_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/