ACCESS数据追加时,相同记录不进行追加,SQl语句怎么写?我写的为什么出错?

putinit 2005-08-08 02:29:56
因为特殊原因不能指定主键,只能根据指定的字段进行判断是否原库中已经有相同记录,有则不追加,程序生成的SQL语句如下:

Insert into Comuni(姓名,手机号码) select [Name] as 姓名,[General phones] as 手机号码 from TempS_050808022441 as A where not exists (select * from Comuni where ([Name]=A.姓名) and ([General phones]=A.手机号码))

“至少一个参数没有指定”的错误提示,是语句用法错误还是参数错误??求解!!

如果只是用
Insert into Comuni(姓名,手机号码) select [Name] as 姓名,[General phones] as 手机号码 from TempS_050808022441 相同记录也进行追加,则不会出现此错误,

仍请各位帮支个招。。。
...全文
679 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
gobiz 2005-08-11
  • 打赏
  • 举报
回复
建立主键,捕获异常,自己处理。
putinit 2005-08-11
  • 打赏
  • 举报
回复
呵呵,,谢谢各位了!在大家的帮助下,问题已经解决了!
管理不善,忘记结贴了!


大家这么好心,借此贴再求 在插入时指定某一字段为关键字段(字段不能为空,否则不插入)的子句,用在上面的语句一起的。。。找了一下,还找着,还只能请大伙们帮忙了。。


呵呵。。得解即结贴,不要骂我一帖多用。。。。。

WoLaiWenWenTi 2005-08-11
  • 打赏
  • 举报
回复
"至少一个参数没有指定”的错误提示,是语句用法错误还是参数错误
=================
这是在SQL语句中书写的数据表名或者字段名有错误。
herman~~ 2005-08-10
  • 打赏
  • 举报
回复
建议采用存储过程吧
volkia 2005-08-10
  • 打赏
  • 举报
回复
:)
在ACCESS里面,存储过程不是标准对象.
jozosoft 2005-08-10
  • 打赏
  • 举报
回复
關注中......
putinit 2005-08-10
  • 打赏
  • 举报
回复
存储过程??呵呵,,冒搞得这么复杂。。。不过也十分感谢。。。



Morrel 2005-08-10
  • 打赏
  • 举报
回复
楼主,不妨采用存储过程来进行是否存在的判断哦
putinit 2005-08-10
  • 打赏
  • 举报
回复
测试成功,,谢谢 volkia(MonkeyKing) ,,也谢谢帮顶的各位 。。。。

volkia 2005-08-10
  • 打赏
  • 举报
回复
Insert Into Comuni([姓名],[手机号码])
Select [Name] AS [姓名],[General phones] AS [手机号码]
From TempS_050808022441 AS A
Where NOT EXISTS (
Select * From Comuni AS B
Where A.[Name]=B.[姓名] and A.[General phones]=B.[手机号码]
)

经过测试,没问题。

putinit 2005-08-09
  • 打赏
  • 举报
回复
不好意思,是搞错了字段所在的数据库,才会出错:

Insert into Comuni(姓名,手机号码) select [Name] as 姓名,[General phones] as 手机号码 from TempS_050808022441 as A where not exists (select [Name] as 姓名,[General phones] as 手机号码 from Comuni where (A.[Name]=姓名) and (A.[General phones]=手机号码))可以正常运行了!!

但郁闷的是,试了许久,功能还是不能实现,追加可以,相同记录也还是进去了,难道where not exists (select [Name] as 姓名,[General phones] as 手机号码 from Comuni where (A.[Name]=姓名) and (A.[General phones]=手机号码))子句不起作用?!



继续求解中!!感谢上面的朋友。。。
putinit 2005-08-09
  • 打赏
  • 举报
回复
郁闷了两天了,,继续求解。。。


好心人帮分析一下啊!!
loon1981 2005-08-08
  • 打赏
  • 举报
回复
简单的方法先SELECT 后INSERT
也可以用复合语句。
paranoia190 2005-08-08
  • 打赏
  • 举报
回复
CREATE TABLE Comuni
([姓名] VARCHAR(10),
[手机号码] VARCHAR(14))


CREATE TABLE TempS_050808022441
([Name] VARCHAR(10),
[General phones] VARCHAR(14)
)

INSERT INTO Comuni
SELECT 'A','1390000001'
UNION ALL SELECT 'B','1390000002'
UNION ALL SELECT 'C','1390000003'
UNION ALL SELECT 'D','1390000004'


INSERT INTO TempS_050808022441
SELECT 'A','1390000001'
UNION ALL SELECT 'B','1390000002'
UNION ALL SELECT 'C','1390000003'
UNION ALL SELECT 'D','1390000004'
UNION ALL SELECT 'E','1390000005'


INSERT INTO Comuni([姓名],[手机号码])
SELECT * FROM TempS_050808022441 WHERE [Name] NOT IN (SELECT [姓名] FROM Comuni)
putinit 2005-08-08
  • 打赏
  • 举报
回复
是从一个表中把数据复制到另一个表中,两个表的字段名不相同,结构也不尽相同,但字段类型符合规范,通过使用“[Name] as 姓名”选择字段的方式将数据导入。。。。全部导入可以,但现在想实现相同记录不追加,一条条查询判断太麻烦,所以才用“where not exists (select * from Comuni where ([Name]=A.姓名) and ([General phones]=A.手机号码))”这条子句。。

Name、General phones为源数据库字段, 姓名、手机号码为目标数据库字段,
select * from Comuni where ([Name]=A.姓名) and ([General phones]=A.手机号码)用于查询是否目标数据库中存在与源库中有相同的记录。有则不追加。无则追加。。
ztenv 2005-08-08
  • 打赏
  • 举报
回复
where not exists (select * from Comuni where ([Name]=A.姓名) and ([General phones]=A.手机号码))//这里出问题了,楼主不妨把数据表的结构贴出来看一下;感觉有点前后不搭配呀……
wizardqi 2005-08-08
  • 打赏
  • 举报
回复
不好意思,看错了,原来是追加行集呀。
试试下面的语句。
Insert into Comuni(姓名,手机号码) select [Name] as 姓名,[General phones] as 手机号码 from TempS_050808022441 as A where not exists (select [Name] as 姓名,[General phones] as 手机号码 from Comuni where ([Name]=A.姓名) and ([General phones]=A.手机号码))
wizardqi 2005-08-08
  • 打赏
  • 举报
回复
可爱的楼主,INSERT的语法有问题呀,它是不支持条件的。
INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])
要实现最好还是先确定是否存在满足条件的记录如果存在不执行插入,否则执行。
surdon 2005-08-08
  • 打赏
  • 举报
回复
为什么不在添加之前先查询一下呢 如果存在的话 提示 ~~
putinit 2005-08-08
  • 打赏
  • 举报
回复
paranoia190兄,我的数据库已经有结构了。。。
WHERE [Name] NOT IN (SELECT [姓名] FROM Comuni)只有一个字段判断,如果要指定多个字段是不是要多个Select子句?

loon1981兄,要怎么写呢,我这样写错误在哪呢?

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧