SQL插入数据出现重复的多条数据

SQL插入数据出现重复的多条数据,第1张

t-sql

一次插入多条数据,除了复制其它表外, 只有重复地写insert. 如果有规律可以用WHILE 循环。

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc1')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc2')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc3')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc4')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc5')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc6')

.................

(1)不排除以前执行过或手动插入过记录的可能。

(2)如果代码本身只是这么简单的代码,那我没看出来什么问题,如果代码并不是这么简单,那么就仔细检查一下代码,入股确定代码没有任何问题,那么我有了以下猜想。

(2)个人觉得很扯淡的一种解释(可能),你可以试验一下,未必是真的,但如果是真的,那就发现bug了

首先声明,我没试验过,仅仅是一种猜想,猜错了是绝对可能的,毕竟一般情况下怎么也不可能在最开始只添加一条数据。

在最开始(划重点)的一条数据来说,应该是两条数据。因为有两个值,一个是init起始值,一个是nextval值,也就是说序列最开始(划重点)插入时至少是有两条数据的,这也就解释了为什么你的编号1,2插入时是两条,其他值插入值为1条。至于以后添加的nextval值,则都是以当前值为基础的,所以不会出现这种情况。当然这种情况应该只会出现在起始值+只添加一条数据的情况下。(以上均为猜测,具体的要靠你的试验来证明)

想排除这种可能,只要再建立一张表,一个序列,最开始(起始值)还是像这样一样只插入一条,看看是不是两条,如果是两条,那么就说明这猜测可能是真的,如果是一条,那就应该是我的猜想错误。

虽然我也知道猜想好像很扯淡,但是不妨试试。

1、在电脑上打开要去掉重复数据的数据库,这里新建一张含有重复数据的user表。

2、输入“select * from user where name in (select name from user group by name having count(name) >1) ”sql语句,点击运行可以看到查询出了数据库中user表的重复数据。

3、通过“delete from user where   name in (select name from user group by name  having count(name) >1) ”sql语句删除姓名重复的数据。

4、也可以通过“select distinct name from user”sql语句来去掉重复数据,这里去掉了张三的重复数据。

5、通过“select distinct class from user”sql语句来去掉班级相同的重复数据。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7989447.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存