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分 展开
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分 展开
2个回答
展开全部
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;
估计是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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询