如何在Kohana 3.2中获取Database_Exception [1062](“重复条目”)的主键?

时间:2011-11-12 15:26:18

标签: php sql exception kohana kohana-orm

假设我有一个名为a的列表。它上面有索引UNIQUE KEY

在ORM模型中,我尝试插入该表。这是一种捕获Database_Exception [ 1062 ]的方法,当用户尝试在列a中插入一些不唯一的内容时会发生这种情况:

function save(Validation $validation = null) {
     try {
         parent::save($validation);
     } 
     catch (Database_Exception $exception) {
         if ($exception->getCode() === 1062) {
            // PK?
         }
     }
}

现在我正在尝试获取已经拥有该内容的条目的主键我试图复制的内容。是否可以不再有SQL查询?我希望该行的主键在某处返回。

对于无意义感到抱歉,但有点难以解释。谢谢你的建议!

1 个答案:

答案 0 :(得分:0)

不,这不可能。

预计也不会从异常中获得该重复条目的primary key

  • 是引发此异常的基础数据库。
  • 如果数据库能够以某种方式报告该消息,那么这是可能的。但它会导致如此多的类似案例需要更多信息。我相信所有数据库供应商都需要确认这是不可能的。