【问题标题】:Codeigniter ORA-00001: unique constraintCodeigniter ORA-00001:唯一约束
【发布时间】:2016-08-23 21:46:03
【问题描述】:

此错误:消息:oci_execute (): ORA-00001: 违反唯一约束 (SCHEMA_NAME.NAME CONSTRAINT)

我想知道我是否不如何更简单、更通用地处理错误。

因为否则我将不得不在模型的每个功能上工作以在添加之前检查数据,没有重复并且不会给出上述错误。

有人知道解决这个问题的简单方法吗?

谢谢。

【问题讨论】:

  • 您没有显示表定义或约束是什么,但如果您尝试插入具有约束的重复值的行,那么您的应用程序可能有问题。

标签: oracle codeigniter ora-00001


【解决方案1】:

可以指定一个提示,该提示将允许语句在不插入重复数据的情况下成功。它对于复制或批量数据加载很有用,其中作业可能会尝试多次插入相同的数据。我不建议将其作为用户应用程序的一部分。

IGNORE_ROW_ON_DUPKEY_INDEX 提示仅适用于单表 INSERT 操作。不支持 UPDATE、DELETE、MERGE 或多表插入操作。IGNORE_ROW_ON_DUPKEY_INDEX 导致语句忽略指定列集的唯一键违规或针对指定的索引。遇到唯一键冲突时,会发生行级回滚,并从下一个输入行继续执行。"

【讨论】:

  • 对不起,让我解释一下。在某些情况下,数据库不允许插入重复数据。我知道我可以在插入时处理它,验证相关记录是否尚未注册。问题是这个系统已经准备好了,我将有很多很多的屏幕要改变。我想知道我是否无法处理此错误以获得相同的返回并通知用户一条消息。所以我不会改变各种模型中的一些方法。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2014-11-06
  • 2014-04-08
  • 1970-01-01
  • 2016-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多