新人上路求罩 oracle 问题 ora-00001 唯一约束问题

小公牛123 2017-09-19 04:18:14
建表语句:
-- -- Create table --- ----
create table RP_BUSI_RECORD
(
done_code NUMBER(12) not null,
parent_done_code NUMBER(12),
done_date DATE not null,
take_date NUMBER(8),
busi_code NUMBER(7) not null,
busi_status NUMBER(1) not null,
busi_origin NUMBER(1) not null,
pay_fee NUMBER(12),
get_fee NUMBER(12),
op_id NUMBER(12),
org_id NUMBER(12),
region_id VARCHAR2(6),
county_code VARCHAR2(6),
finish_date DATE,
error_reason VARCHAR2(256),
ext_col1 VARCHAR2(32),
ext_col2 VARCHAR2(32),
ext_col3 VARCHAR2(32),
memo VARCHAR2(256)
)
-----------------------------------------------------------------------------------------------------------------
中间一部分无关的我就不上了
-------------------------------------------------------------------------------------------------------------------
create index IDX_RP_BUSI_RECORD_1 on RP_BUSI_RECORD (DONE_DATE)
tablespace TEST_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
create index IDX_RP_BUSI_RECORD_2 on RP_BUSI_RECORD (BUSI_CODE)
tablespace TEST_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
create index IDX_RP_BUSI_RECORD_3 on RP_BUSI_RECORD (TAKE_DATE)
tablespace TEST_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
create unique index PK_RP_BUSI_RECORD_N on RP_BUSI_RECORD (DONE_CODE)
tablespace TEST_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-------------------------------------------------------------
alter table RP_BUSI_RECORD
add constraint PK_RP_BUSI_RECORD primary key (DONE_CODE);

插入语句:
insert into RP_BUSI_RECORD(REGION_ID,
OP_ID,
COUNTY_CODE,
BUSI_CODE,
DONE_DATE,
BUSI_ORIGIN,
TAKE_DATE,
BUSI_STATUS,
DONE_CODE,
FINISH_DATE,
ORG_ID)
values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
报错:
ORA-00001: 违反唯一约束条件 (RPT.PK_RP_BUSI_RECORD)

...全文
643 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2017-09-19
  • 打赏
  • 举报
回复
报错信息已经提示非常清楚了。
DONE_CODE是主键,违反唯一约束条件就是说表中已经存在有DONE_CODE相同的记录了,所以INSERT语句执行失败。
你换个DONE_CODE试试看。
minsic78 2017-09-19
  • 打赏
  • 举报
回复
这个报错已经很直观了啊,就是插入数据的DONE_CODE已经在该表中有存在的了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧