首页 > 解决方案 > SQLSTATE [23000]:完整性约束违规:1062 Symfony 4 中的重复条目

问题描述

我有一个名为“student_assignment”的表,其中有多个列,我在下面显示其中的 2 个:

这两个列也是外键。

StudentId   assignmentId
    1           6          -> allowed
    2           3          -> allowed
    3           1          -> allowed
    2           3          -> not allowed, the combination of 2 3 already exists in table.

我已经成功地组合了这两列。

我正在使用多项选择将作业分配给多个学生,例如“ Assignment no 3 ”。那些已经有作业 3的学生不能重新分配。当我为学生重新分配两次“ Assigment 3 ”时,它会抛出错误:

错误:

SQLSTATE [23000]:完整性约束违规:1062 键“assignment_unique”的重复条目“2-3”

我想要一个解决方案,其中可以分配那些没有分配 3 的学生,而那些有这些分配的学生应该被忽略。

标签: phpdatabasesymfonyerror-handlingdoctrine

解决方案


我想您从数据库中获取这些数据作为ArrayCollection对象。我建议您在将它们添加到数据库之前确保 2 与 2 没有关联。如果不可能,我建议检查您的模型(您的实体之间的关系)。


推荐阅读