【发布时间】:2014-10-10 15:47:09
【问题描述】:
这一定很琐碎,但我似乎找不到解决方案。
我使用两个表,都没有任何主键。
我只想将第一个表的所有记录添加到第二个表中,前提是它们不存在。
基本上:
INSERT INTO Table2
SELECT Table1.*
FROM Table
WHERE "the record to be added doesn't already exists in Table2"
【问题讨论】:
-
所以在两个表中的所有字段上放置一个唯一索引。在没有 where 子句的情况下进行查询 - 索引将拒绝任何会导致 table2 中重复键违规的 table1 记录
-
先选择Table1中ID在Table2中不存在的行(带有EXISTS IN或Join),然后插入到table2中
-
@MarcB 问题是我无法控制第一张桌子。 Panagiotis 没有 ID 字段。
-
这两个表是链接 ODBC 表还是其中一个表是本机 Access 表?如果是后者,您要插入哪个表?另外,MySQL是否真的参与其中? (您最近的问题是关于 ODBC 与 Oracle 的连接。)
-
我只能从专用计算机连接到 ODBC 表。然后,我使用 ODBC 表中的记录更新本机 Access 表,以便我可以从未连接到 ODBC 表的计算机上处理它。涉及 SQL 是因为我无法使用 Access 连接到 ODBC 表,因为字段名称包含“/”,所以我必须使用直通 SQL 查询。我不知道这是否有任何帮助......
标签: mysql sql ms-access-2007