gpt4 book ai didi

oracle12c - oracle如何更改标识列的下一个自动生成的值

转载 作者:行者123 更新时间:2023-12-03 08:18:55 36 4
gpt4 key购买 nike

我已经创建了这样的表项目:

CREATE TABLE projects (
project_id NUMBER(10,0) GENERATED BY DEFAULT ON NULL AS IDENTITY ,
project_name VARCHAR2(75 CHAR) NOT NULL

然后我在从我的旧 MySQL 表中导入数据时插入了 ~150,000 行。 MySQL 有我需要保留的现有 ID 号,因此我在插入期间将 ID 号添加到 SQL。现在,当我向 oracle 表中插入新行时,id 是一个非常低的数字。您能告诉我如何将 project_id 列上的计数器重置为从 150,001 开始,以免弄乱我现有的任何 ID 号吗?基本上我需要oracle版本:
ALTER TABLE tbl AUTO_INCREMENT = 150001;

编辑:Oracle 12c 现在支持身份数据类型,允许不需要我们创建序列 + 插入触发器的自动编号主键。

解决方案:
在一些创造性的谷歌搜索词之后,我找到了 this oracle 文档站点上的线程。这是更改身份的 nextval 的解决方案:
ALTER TABLE     projects    MODIFY  project_id  GENERATED BY DEFAULT ON NULL AS IDENTITY ( START WITH   150000);

最佳答案

这是我在 this oracle thread: 上找到的解决方案.这个概念是改变你的身份列而不是调整序列。实际上,自动创建的序列不可编辑或放置。

ALTER TABLE     projects    MODIFY  project_id  GENERATED BY DEFAULT ON NULL AS IDENTITY ( START WITH   150000);

关于oracle12c - oracle如何更改标识列的下一个自动生成的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32574084/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com