insert into select插入的时候提示不能插入重复值

C26029 2017-08-05 11:31:03



insert into t_item(fname,fnumber,fdetail,flevel,fparentid,fitemclassid) select fname,fnumber,1,3,0,4 from temp1 where fnumber like '014.01.%'


...全文
1119 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ginnnnnnnn 2017-08-09
  • 打赏
  • 举报
回复
看下目标表的主键是什么,然后查下那个键重复的数据看看是什么情况
xiaoxiangqing 2017-08-07
  • 打赏
  • 举报
回复
数据重复了。插入之前,过滤一下重复的
0与1之间 2017-08-07
  • 打赏
  • 举报
回复
主键是不能重复的,去除重复后再插入试试
顺势而为1 2017-08-06
  • 打赏
  • 举报
回复
引用 2 楼 C26029 的回复:
批量插入的时候提示不能有重复值,求大神支招,我是把一个表里的基本资料插入到另一个表里。两个表都是基本资料但是不太一样。是金碟软件的数据库。
楼主先检查一下两表的重复情况, 看看主键字段是哪个, 有两种可能 1. t_item 与 temp1中本就有重复值 2. t_item 与 temp1中无重复值, 但 temp1中有重复值.
二月十六 2017-08-06
  • 打赏
  • 举报
回复
主键不能是重复的数据,所以看看主键列是不是有重复的情况,主键代表唯一表示一条数据,是不是主键一样的就不进行插入了? 如果是那可以NOT EXISTS 排除一下重列,类似这样
INSERT  INTO t_item
        ( fname ,
          fnumber ,
          fdetail ,
          flevel ,
          fparentid ,
          fitemclassid
        )
        SELECT  fname ,
                fnumber ,
                1 ,
                3 ,
                0 ,
                4
        FROM    temp1
        WHERE   fnumber LIKE '014.01.%'
                AND NOT EXISTS ( SELECT 1
                                 FROM   t_item
                                 WHERE  主键列 = temp1.主键列 );
如果是主键不重复的,进行插入操作,有主键重复的进行更新操作,可以用MERGE ,类似这样:
MERGE INTO t_item AS a
USING temp1 AS b
ON a.主键 = b.主键
WHEN MATCHED THEN
	UPDATE SET
			a.fname = b.fname --...等等其他对应更新列
WHEN NOT MATCHED THEN
	INSERT
	VALUES ( b.主键, b.fname ); --.....等等其他插入字段;

OwenZeng_DBA 2017-08-05
  • 打赏
  • 举报
回复
引用 2 楼 C26029 的回复:
批量插入的时候提示不能有重复值,求大神支招,我是把一个表里的基本资料插入到另一个表里。两个表都是基本资料但是不太一样。是金碟软件的数据库。
select * from temp1 
where fnumber in (select fnumber from people group by temp1 having count(fnumber) > 1) 
用这个语句可以查出来这些重复的fnumber 。你的主键是fnumber 吗
OwenZeng_DBA 2017-08-05
  • 打赏
  • 举报
回复
引用 1 楼 C26029 的回复:
这是因为你的temp1表中有重复的值。你需要temp1去掉重复值再插入
C26029 2017-08-05
  • 打赏
  • 举报
回复
批量插入的时候提示不能有重复值,求大神支招,我是把一个表里的基本资料插入到另一个表里。两个表都是基本资料但是不太一样。是金碟软件的数据库。
C26029 2017-08-05
  • 打赏
  • 举报
回复

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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