在sql server中数据导入的问题(200分)

  • 主题发起人 主题发起人 linger_ok
  • 开始时间 开始时间
L

linger_ok

Unregistered / Unconfirmed
GUEST, unregistred user!
我在导入数据的时候,出现这样的提示:
“不能在具有唯一索引idxbugid”的对象‘bugs’插入重复键的行
如果有数据是重复的,如何才能避免插入相同的数据呢?
 
使用distinct 关键字
 
可以说明白一点么?我不大理解
 
你应该说明白一点,你通过什么方法导的
 
加上
where NOT EXISTS
(SELECT *
FROM titles
WHERE bugs = value
)
 
在选择数据源的表时,选择 SQL 语句来做,不要直接全部导一个表,
写 select distinct 主键字段... from ... 来避免重复。

不然 源表和目标表的关键字不一样,好好看看吧。
 
我是通过用sql语句导入的,就是过滤一些条件,但是如果目的表中已经存在了这条记录
就会出现这样的问题,我想避免重复数据的重复插入,应该怎么做呢?谢谢了
 
手工处理重复的数据?OR 采用覆盖式的导入而不是追加式的
 
唉!
你数据库设定了某个字段为唯一(Key)索引!但在导入时的数据表中该字段有重复值!

具体怎么办,要么先删除源表的重复记录,要么把与索引字段对应的值改在不重复!
你自己看这办。。。。。。
 
insert into 表名1(字段1,字段1....字段n) select 字段1,字段1....字段n from 表名2
where 主键字段 not in (select 主键字段 from 表名1)
 
要么写程序, 要么把原来的全删掉。呵呵。
还可以去目标表的主键限制,一股脑导进去,然后再筛出来,
可以用 象 select * into table2 from table where table.id in (select distinct id from table )
简单的写写,希望对你有帮助。
 
你把目标表中的数据先导出到另一个结构相同的表中temp,但不要设关键字,
再把你要导入的数据也导入temp中,清空目标表中的内空容,最后用
select distinct ... form temp 导到目标表中
 
if not exists (select primekeyfield from tablename where primekeyfield=value)
insert into tablename
values('value',...)
改了就可以用,可以满足你的要求
 
上面朋友的方法都尝试了一下,这是我用查询生成器所生成的sql语句,
希望哪位朋友再帮我写一下,如果正确我给120分可以么?
select [Bugs].[Description], [Bugs].[BugID], [Bugs].[timestamp], [Bugs].[Rev], [Bugs].[ExportStatus], [Bugs].[Title], [Bugs].[Status], [Bugs].[AssignedTo], [Bugs].[IssueType], [Bugs].[Severity], [Bugs].[Priority], [Bugs].[Accessibility], [Bugs].[ChangedDate], [Bugs].[ChangedBy], [Bugs].[Environment], [Bugs].[OpenedDate], [Bugs].[OpenedBy], [Bugs].[OpenedRev], [Bugs].[Source], [Bugs].[SourceID], [Bugs].[BetaID], [Bugs].[HowFound], [Bugs].[Lang], [Bugs].[ResolvedDate], [Bugs].[ResolvedBy], [Bugs].[Resolution], [Bugs].[FixedRev], [Bugs].[Cause], [Bugs].[CodeChange], [Bugs].[ClosedDate], [Bugs].[ClosedBy], [Bugs].[KBArticle], [Bugs].[ParentStatus], [Bugs].[DependentLinkStatus], [Bugs].[ParentResolution], [Bugs].[RegressCount], [Bugs].[LinkCount], [Bugs].[MigrationStatus], [Bugs].[PendingDate], [Bugs].[DependentDate], [Bugs].[ParentChangedDate], [Bugs].[ChildLinkCount], [Bugs].[Judge], [Bugs].[ProjectSeverity], [Bugs].[ProjectPriority]
from [Bugs]
where [Bugs].[Resolution]='Postponed'
谢谢了
 
select * from Bugs
where Resolution='Postponed'
 
多人接受答案了。
 
后退
顶部