oracle设置id自增,报ora-00955错误,代码如下:

CREATETABLEd_user(idnumber(12)primarykey,emailvarchar2(50)NOTNULL,nicknamevarchar2(50... CREATE TABLE d_user(
id number(12) primary key,
email varchar2(50) NOT NULL,
nickname varchar2(50),
password varchar2(50) NOT NULL,
user_integral number(12) default 0 NOT NULL,
is_email_verify char(3),
email_verify_code varchar2(50),
last_login_time number(20),
last_login_ip varchar2(15),
constraint uk$T unique(email)
);
CREATE SEQUENCE id start with 1 increment by 1;
建表没问题,就
CREATE SEQUENCE id start with 1 increment by 1; 这里报上面的错,
看到的大神跪求帮助,小弟在线等........现在是22:15分
展开
 我来答
micro0369
2012-11-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4031万
展开全部
ora-00955 应该是对象名被占用。

估计是ID是保留字的原因。

CREATE SEQUENCE seq_d_user

Oracle的id自增方法:
比如表名:tab,主键为:id
1. 增加一个序列号: create sequence seq_tab
2. 增加一个触发器,如果是insert,则取序列号值,赋予主键列
CREATE OR REPLACE TRIGGER TRI_tab
BEFORE INSERT ONtabFOR EACH ROW
DECLARE
-- LOCAL VARIABLES HERE
BEGIN
IF :NEW.id IS NULL THEN
SELECT SEQ_tab.NEXTVAL INTO :NEW.id FROM DUAL;
END IF;
END TRI_tab;
流浪云风
2012-11-15 · TA获得超过4315个赞
知道大有可为答主
回答量:1119
采纳率:69%
帮助的人:932万
展开全部
使用如下语句创建就行了。
create sequence ID
minvalue 1 --最小值
maxvalue 99999 --最大值
start with 1 --起始值
increment by 1 --递增值
cache 20;

问题解决后请采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式