如何将A表中的数据插入到B表,而且不重复插入?

补充说明一下:
A,B结构一样,且都没有主键,A表里包含新旧数据,B表每天只要A表中新增的数据,我用SQL插入语句,将A表插入B表,每次都是重复插入,很郁闷,请高手指点吖!

insert into 表B select * from(
select * from 表A
except
select * from 表A intersect select * from 表B
)
前提是表B和表A的结构完全相同,当然如果把select * 换成别的,那结构不一样也可以控制,用于将存在于表A中,但不存在于表A中的数据插入表B
效率比 not in 的写法要高很多(60万条数据大概高个五十多倍)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-26
看你是不是违背了实体完整性。就是表中不能有任意2行是相同的。具体你举个列子可能大家更能帮到你。
第2个回答  2012-03-26
可以利用DISTINCT子句可以消除重复
第3个回答  2012-03-26
insert into B
select fieldname from A
where not exists (select * from B where A.fieldname =b.fieldname)
;追问

我找一种方法
insert into 表B select * from 表A where checksum(*) not in (select checksum(*) from 表B)
通过验证每行的希哈值来确定是否有重复值!一切定是否有重复数据。

本回答被提问者采纳

如何将A表中的数据插入到B表,而且不重复插入?
insert into 表B select * from(select * from 表A except select * from 表A intersect select * from 表B )前提是表B和表A的结构完全相同,当然如果把select * 换成别的,那结构不一样也可以控制,用于将存在于表A中,但不存在于表A中的数据插入表B 效率比 not in 的写法要高很多(60万...

mysql把A表数据插入到B表数据的几种方法
下面我以mysql数据库为例分情况一一说明:1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:INSERT INTO 目标表 SELECT * FROM 来源表;insertintoinsertTestselect*frominsertTest2;2.如果只希望导入指定字段,可以用这种方法:INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, ...

mysql 将a表数据插入b表防止重复插入怎么写
譬如 a,b 的id字段不能重复 insert into b (select a.* from a where a.content like %xxx% and a.title like %xxx% and a.id not in (select distinct b.id from b))你的表有用到保留字段了,我没表结构,不知道哪个

excel一列数据不重复引用到另一张表的不同位置,望不吝赐教!
将公式复制到B表中的其他单元格。您可以将公式复制到右侧的单元格中,例如F2,然后将该单元格拖动到H2以便将公式应用到该列中的所有单元格。检查B表中的编号是否已全部填充。如果未填满,则重复上述步骤,直到所有单元格都填满为止。

如何将A表中符合条件的所有数据添加到B表中?
1、选中这三列数据数据,然后选择插入——数据透视表;2、然后将三列的表头全部拉入到行中,最终呈现效果如下。3、因为你的B表中如果时间和地点是否要一一对应的关系,如果一一对应,,你将这部分数据复制出来,重新粘贴。先筛选来访时间,去掉空格,复制姓名和来访时间,然后隐藏来访时间,筛选地点非空白...

sql 中怎么将A,B 2张表没有重复的数据 从A表插入B表中?
如果A,B两个表中没有重复数据且表结构一样可以直接insert into B select * from A如果结构不一样可以insert into B(字段列表),select 字段列表 from A如果A,B两表中有重复数据可以insert into B(字段列表),select 字段列表 from A where not exists(select * from B where a.keycol1 = b.keycol1) ...

sql server 如何把一个表里面的数据导入到另一个表中,数据不能重覆。两...
假设两个表的字段 ID,A,B,C,D 表名:TB1,TB2 INSERT INTO TB2(ID,A,B,C,D)SELECT ID,A,B,C,D FROM TB1 WHERE ID NOT IN (SELECT ID FROM TB2)注意字段的顺序必须相同;

EXCEL中A表数据引用到B表
在表B中,选中E列,右键“插入”新列“部门”。如图所示,利用VLOOKUP查找出数据。VLOOKUP(lookup_value,tabale_array,col_index_num,[range_lookup])lookup_value,为表B中参照名称,如图:D3单元格“张一”。tabale_array,为参照区域,如图:表A中F到H列。col_index_num,为要调用的列,如图:...

Excel技巧:如何让一个Excel表格的信息自动同步到另一个表格中?
在问题不是非常明朗的情况下,在Excel中有很多解决方法。方法一:利用复制黏贴就搞定了。注意看动图,复制后,黏贴使用选择性黏贴-黏贴链接,搞定。如果你仔细观察就发现,其实数据B,使用的是等号引用。当然数据A表发生变化,数据B也会发生变化,但如果数据A表增加数据,数据B会不会自动变呢?赶紧试试...

如何将一个Excel表格中的人名对应的身份证号码复制到另一个表格
在目标表格中,找到你想要插入身份证号码的列,并选中第一个需要填充的单元格。3. 使用VLOOKUP函数:- 点击选中的单元格,然后在Excel的函数栏中输入`=VLOOKUP()`函数。- 第一个参数是查找值,即源表格中的人名。- 第二个参数是包含待查找数据的表格区域(包括姓名和身份证号码),确保这个区域包括了...

相似回答