复制复制到新表中 - 旧的MySQL版本复杂

问题描述:

由于旧版本的MySQL,我不得不使用一些相当过时的方法来完成任务。 此刻,我正试图将相似的行复制到基于几个不同列的另一个表中。表holddups将取自assets的数据,其中SKU和描述与holdkey中的一个匹配。我跑的命令是:复制复制到新表中 - 旧的MySQL版本复杂

INSERT INTO holddups 
SELECT * 
FROM assets, holdkey 
WHERE assets.SKU = holdkey.SKU 
AND assets.Description = holdkey.Description 

而我得到的错误是:

#1136 - Column count doesn't match value count at row 1 

我希望这是足以整理出这一切,但如果不是随意问更多。

只选择*将取自assetsholdkey的所有列,并尝试将其放入holdups。但holdups没有那么多列。使用assets.*将只采用assets的所有列,这就是你想要的,对吧?

INSERT INTO holddups 
SELECT assets.* 
FROM assets, holdkey 
WHERE assets.SKU = holdkey.SKU 
AND assets.Description = holdkey.Description 
+0

这很好,正是我所需要的。非常感谢你。 – 2012-02-15 05:16:59