mysql - 尝试在 MySQL 中使用 INTO...SELECT。 WHERE 子句遇到问题。

标签 mysql sql syntax

我试图将所有数据从 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/

相关文章:

php - 如何同时在两个文档中从 MySQL 中获取相同的 Random() 数据?

java - 如何从mysql中的两个表中获取值,其中一个表不同,另一个表多个值?

mysql - 从另一个表Mysql中引入数据属性

ruby - "class << Class"(尖括号)语法的目的是什么?

syntax - gnu 汇编器 : get address of label/variable [INTEL SYNTAX]

php - 删除最后一项的逗号。在 PHP 中使用 fwrite

php - 如何在MySql中存储多个选择选项以便于搜索

sql - 如何在 SQL 中按连续的两行进行搜索?

sql - 获取表中行对之间的平均间隔

c - jni.h 和预期 ‘=’ , ‘,’ , ‘;’ , ‘asm’ 或 ‘__attribute__’ 之前 ‘void’