将重复项复制到新表中 - 旧MySQL版本变得复杂

时间:2012-02-15 05:08:23

标签: mysql sql mysql-error-1136

由于MySQL的旧版本,我不得不使用一些非常过时的方法来完成任务。 目前我正在尝试根据几个不同的列将类似的行复制到另一个表。表格holddups将从assets获取数据,其中SKU和说明与holdkey中的一个相匹配。我正在运行的命令是:

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 个答案:

答案 0 :(得分:1)

仅选择*将获取assetsholdkey中的所有列,并尝试将其放入holdups。但是holdups没有那么多列。使用assets.*只会占用assets的所有列,这就是您想要的,对吗?

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