1

可以说我有一个表,其列名为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 查询?我希望该行的主键在某处返回。

对不起,胡说八道,但这有点难以解释。感谢您的建议!

4

1 回答 1

0

不,这是不可能的。

预计这也不会有primary key来自异常的重复条目。

  • 引发此异常的是底层数据库。
  • 如果数据库可以以某种方式报告该消息是可能的。但这将导致需要更多信息的许多类似情况。我相信,所有数据库供应商都需要确认这是不可能的。
于 2011-11-12T20:37:07.957 回答