rainman Asked: 2017-11-30 14:15:21 +0800 CST2017-11-30 14:15:21 +0800 CST 2017-11-30 14:15:21 +0800 CST 如何在 Oracle 中使现有列自动递增 772 我在我命名的 oracle 数据库中创建了一个表,USERS并创建了一个USER_ID类型NUMBER为我设置为主键的列。 如何修改列USER_ID以使其自动递增 1 ? 请问有什么帮助吗? oracle-12c auto-increment 2 个回答 Voted Best Answer a1ex07 2017-11-30T15:29:21+08:002017-11-30T15:29:21+08:00 如果你坚持使用 IDENTITY,那是不可能的——你不能将非身份列修改为身份。但是,Oracle 允许您使用 sequence.nextval 作为默认值,因此您可能会获得类似的功能: CREATE SEQUENCE SEQ_USER START WITH 1000; --assuming max(USERS.user_id) =999 ALTER TABLE USERS MODIFY (USER_ID DEFAULT SEQ_USER.NEXTVAL); 它将作为GENERATED BY DEFAULT AS IDENTITY. Balazs Papp 2017-11-30T15:17:35+08:002017-11-30T15:17:35+08:00 这是不可能的。 更改表 身份子句 使用 identity_clause 修改标识列的属性。您不能在不是标识列的列上指定此子句。
如果你坚持使用 IDENTITY,那是不可能的——你不能将非身份列修改为身份。但是,Oracle 允许您使用 sequence.nextval 作为默认值,因此您可能会获得类似的功能:
它将作为
GENERATED BY DEFAULT AS IDENTITY
.这是不可能的。
更改表