将记录插入MY_TABLE时出现错误
ORA-00001:违反了唯一约束(TEST.MY_TABLE_PK)
这可能是由于重复的TRANS_ID
造成的。但我不知道要解决这个问题。如何避免ORA-00001
错误并将记录插入MY_TABLE
。
CREATE UNIQUE INDEX "MY_TABLE_PK" ON "MY_TABLE_TRANS" ("TRANS_ID")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TEST" ;
答案 0 :(得分:1)
如果您不关心重复
,请删除索引ALTER TABLE MY_TABLE_TRANS DROP INDEX MY_TABLE_PK;
或者只选择\ distinct的唯一记录:
SELECT t.trans_id , MAX(Other Column) , MAX(...
FROM MY_TABLE_TRANS t
GROUP BY t.trans_id
答案 1 :(得分:0)
由于您的TRANS_ID已经存在于您的MY_TABLE_TRANS表中,您还可以更新当前记录(如果您当然有权这样做)
首先验证记录是什么。
SELECT *
FROM MY_TABLE_TRANS
WHERE trans_id = 'your trans_id here'
看看记录。如果您想修改它,可以使用更新而不是新 INSERT 。
UPDATE MY_TABLE_TRANS
SET (put your field that need to be updated) = 'your value'
WHERE trans_id = 'your trans_id here'