读书人

数据导入有关问题

发布时间: 2012-03-30 17:32:09 作者: rapoo

数据导入问题
1.表A
ID(主键) 姓名 手机号
1 张三
2 李四
3 王五
4 张三

表B
姓名 手机号
张三 138
李四 139
王五 137
赵六 133

用表B的手机号更新表A的手机号,或插入数据,表A中的姓名可能重复,如何做?

需要的结果如下:

ID(主键) 姓名 手机号
1 张三 138
2 李四 139
3 王五 137
4 张三 138
5 赵六 133


2.我其实要做的是数据导入,从Excel导入access数据库,表B是Excel导入生成的临时表,然后更新主表A,用Delphi实现.
有没有更好的办法导入数据?


从 "其他数据库开发 Access 区 " 得到的答案:

update a inner join b on a.姓名=b.姓名 set a.手机号=b.手机号;

INSERT INTO a(姓名,手机号) SELECT b.姓名 , b.手机号 FROM b WHERE 姓名 not in (SELECT 姓名 FROM a);


但主键ID(非自增字段)不充许为空,如何解决?

[解决办法]
把字段改你自增列,倒入数据完成之后再改回去!
[解决办法]
你的id号必须按顺序排列吗?
如果可以的话,你的id号就做成一个流水号,用代码控制自动添加。

而且你的这两张表有点问题
只用id号你无法将重名问题解决,在更新的时候会出现导入错误的

读书人网 >.NET

热点推荐