2012-02-15 74 views
0

由於舊版本的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 

我希望這是足以整理出這一切,但如果不是隨意問更多。

回答

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