处理1062 symfony2

时间:2015-07-30 14:33:10

标签: symfony exception

我有一个PDO例外:

  

[PDOException]
  SQLSTATE [23000]:完整性约束违规:1062重复条目“UNIQ_88A3CEF5FB7BD549”的重复条目“0_L525_H132_A000_P624_M600”

那么在异常发生后脚本会继续吗?

实际上,我的实体看起来像是:

/** @ORM\Table(indexes={@Index(columns={"Soundex"})})
 * @ORM\Entity
 * @UniqueEntity("Soundex")
 */
class SoundexData
{
    /**
     * @var string
     *
     * @ORM\Column(name="Soundex", type="string", length=255, nullable=true,unique=true)
     */
    private $soundex;

我尝试使用以下方法导入数据:

try {
    $em->persist($data);
    $em->flush();
}
catch(\Doctrine\DBAL\DBALException $e) 
{
    // handle exception
}

为了避免破坏脚本并在异常发生后继续,我坚持:(

那我怎么办呢?

所有这一切的原因,我不想在我的数据库中有双重条目,所以我认为忽略双精度更容易,而不是检查每个数据集是否已存在于数据库中(没有MySQL请求是最快的要求;))

1 个答案:

答案 0 :(得分:-1)

您应该捕获PDOException:

try {
    $em->persist($data);
    $em->flush();
} catch(\PDOException $e) {
    // handle exception
}