我有2个表,如下面的结构。除表名外,两者都是相同的。SQL - 将行从一个表复制到另一个表,并同时更新目标表中的列
tbl_item_color_exp
>>item_color_ID
>>color_ID
>>item_ID
tbl_item_color_live
>>item_color_ID
>>color_ID
>>item_ID
我想几行从tbl_item_color_live表格复制到tbl_item_color_exp表。我可以完成复制通过下面的下面的SQL确切的行和列:
INSERT INTO tbl_item_color_exp
SELECT * FROM tbl_item_color_live WHERE item_ID = $oldID
但我不希望创建复制item_color_ID
主键,我想更新所有行复制的ITEM_ID列到一个新的变量,$newID
。总体思路是根据$oldID
复制所有行,并使用&newID
更新目标表,但使用自动递增的主键item_color_ID
维护color_ID
列。
我可以使用几个SQL查询来完成它,但我想知道是否可以通过一条SQL线更有效地执行所有操作?我希望我的问题能被大家理解,谢谢。
什么RDBMS好吗? – gbn 2011-05-22 08:56:54
@gbn:我正在使用MYSQL。 – maomaopop 2011-05-22 09:00:07