如何在oracle表中添加一列自动增长的数据?

如何在oracle表中添加一列自动增长的数据?,第1张

oracle中没有自动增长,只有序列号\x0d\x0a添加一条记录和sqlserver一样\x0d\x0a语法:insert into table(列,列,列) values(value,value,value)\x0d\x0a\x0d\x0a如果有个自动增长列\x0d\x0a可以用这种方法,首先创建一个序列号SEQ_Test\x0d\x0a然后insert into table(ID,列,列) values(SEQ_Test.nextval,value,value)

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

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

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

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

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

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

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


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

原文地址: http://outofmemory.cn/bake/11568215.html

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

发表评论

登录后才能评论

评论列表(0条)

保存