1

我在 MySQL 语法上有一个“不寻常”的问题。

我有 2 张桌子:

表1:商品属性,有7id, id_commodity, parameter, value, units, type,notes

表 2:trade_commodity,有8id, id_trade, id_commodity, parameter, value, units, type,notes

注意:两个表的主键都是“id”,这是我不想复制的

我想要的是将所有列从 table1 复制到 table2,但也在 table2 中创建值id_trade

请看一下 table1 和 table2 的列数不同,并且id_trade在 table2 上不是 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:如何在 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 回答