我有应该插入表中的数据。但在插入之前,我需要检查重复记录和这些记录的报告列表。
桌子:
CREATE TABLE `test` (
`A` varchar(19) NOT NULL,
`B` varchar(9) NOT NULL,
KEY `A` (`A`),
KEY `B` (`B`)
) ENGINE=InnoDB;
我需要检查两列:
要插入的记录数:~1000
表中的行:~1.000.000
这样做的有效方法是什么。
提前致谢。
我有应该插入表中的数据。但在插入之前,我需要检查重复记录和这些记录的报告列表。
桌子:
CREATE TABLE `test` (
`A` varchar(19) NOT NULL,
`B` varchar(9) NOT NULL,
KEY `A` (`A`),
KEY `B` (`B`)
) ENGINE=InnoDB;
我需要检查两列:
要插入的记录数:~1000
表中的行:~1.000.000
这样做的有效方法是什么。
提前致谢。
这将取决于表格的布局。
假设你有下表
在将 1000 行插入 mydata 之前,您可以将它们预加载到另一个名为 mynewdata 的表中,如下所示:
接下来删除 mynewdata 中与 mydata 中的 A 或 B 匹配的所有行
mydata 中剩下的是没有 A 或 B 匹配的行
匹配的行呢?运行这个
mynewdata 中剩下的是要导入的数据
mynewdups 中剩下的是在 mydata 中有 dup 键的数据
试试看 !!!