我试图将所有数据从 oa_tags 复制到 member_info 中,但问题是我在 oa_tags 和 member_info 中都有一个唯一的 auto_increment 键(两者相同,称为 ID)。我需要它将所有数据从 oa_tags 复制到 member_info 中,但显然它必须忽略具有相同“ID”列的条目。
这就是我到目前为止所拥有的 -
INSERT INTO member_info
SELECT *
FROM oa_tags, member_info WHERE oa_tags.ID > member_info.ID;
它向我抛出此错误 - “#1136 - 列计数与第 1 行的值计数不匹配”
欢迎任何建议。
谢谢
最佳答案
这就是 mysql 支持您想要做的事情的方式。 http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-select-into-table.html
这解释了为什么我想知道两个表的字段列表/结构。 (我不喜欢 not in 。我认为必须有一种方法可以用存在来做到这一点,但我正在努力;而且我不确定你是否真的关心性能,因为这似乎是一次性的事情)
INSERT INTO member_info (FIELD LIST)
SELECT (FIELD LIST) from oa_tags where ID not in (Select ID from member_info)
这可能有效,但我对此表示怀疑,而且它离“最佳实践”还很远,但如果一次性扔掉,它可能会完成工作。
INSERT INTO member_info
SELECT * from oa_tags where ID not in (Select ID from member_info)
关于mysql - 尝试在 MySQL 中使用 INTO...SELECT。 WHERE 子句遇到问题。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24894317/