【问题标题】:Doctrine2 duplicate entries for key stops execution关键停止执行的 Doctrine2 重复条目
【发布时间】:2016-12-05 14:29:37
【问题描述】:

我正在 Symfony2/Doctrine2 项目中运行一个脚本。

我收到 Doctrine\DBAL\Exception\UniqueConstraintViolationException 异常。

An exception occurred while executing 
'INSERT INTO user (name, created_at) VALUES (?, ?)' 
with params ["Gaurav" "2016-07-31 17:10:54"]:               

SQLSTATE[23000]: Integrity constraint violation: 
1062 Duplicate entry 'Gaurav' for key 'UNIQ_8C9F36105E237E06'

任何想法,我怎样才能避免这种情况?

我一直在使用 Repository findByOne() 然后更新记录。它仍然会生成一个 SQL 查询。

我找到了以下post。但我不确定是否有必要这样做。

请指教。

【问题讨论】:

  • 你的“更新”怎么样?从中获取 INSERT 并进行更新似乎很奇怪。我怀疑某种批处理操作。
  • @Cerad 是的。它有点像批处理操作,因为它是从文件中读取输入的循环。

标签: symfony doctrine-orm duplicates


【解决方案1】:

检查您是如何定义数据库架构的。此异常告诉您您尝试为定义为唯一的列插入重复值。

【讨论】:

  • 是的。但如果我从存储库获取记录并尝试更新托管实体,它不应该到达 db 层。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多