1
A
回答
1
完整性约束违规意味着你要保存在数据库中的唯一值的重复模式的复合主键数据。主键必须是唯一的。
你的数据库中的主键字段是否设置为自动增量?如果你不这样做,那可能是你的问题。否则,当你插入一条记录时,它可能会插入一个PK为0的行。然后当它试图插入另一条记录时,它会尝试插入PK为0的另一行,因此不是唯一的,并抛出完整性约束违规。
然而
你提到,你正在做一个编辑。如果您正在进行编辑,那么当您将其保存到数据库时,您没有传递编辑的行主键,所以Cake会尝试执行CREATE,因此会导致另一个重复的行ID。
确保你这样做:
$this->Model->id = $id; // Where $id is the Primary Key of the row being edited.
反过来,你也可以这样做:
$data['Model']['id'] = $id;
$this->Model->save($data);
您可以通过将其存储在您的编辑形式的隐藏字段捕获的$ id ,或者作为传递给动作的URL参数。
相关问题
- 1. 完整性约束违规
- 2. SQLSTATE [23000]:完整性约束违规:1452
- 3. SQLSTATE [23000]:完整性约束违规
- 4. 完整性约束违规 - 无MySQL
- 5. 完整性约束违规在Magento
- 6. SQLSTATE [23000]:完整性约束违规:1217
- 7. 完整性约束违规:1048 DOCTRINE
- 8. 完整性约束违规:1452 - Magento Multistore
- 9. 外键完整性约束违规:1452
- 10. PDOException完整性约束违规
- 11. PDO完整性约束违规
- 12. MySQL完整性约束违规:1452
- 13. Drupal 7 node_save完整性约束违规
- 14. Laravel 5完整性约束违规
- 15. cakephp - 如何处理完整性约束违规错误
- 16. 完整性约束违规:NOT NULL检查约束
- 17. MS ACCESS完整性约束违规:NOT NULL检查约束;
- 18. “SQLSTATE [23000]:完整性约束违规”与有效约束条件
- 19. Magento的订单节约错误:完整性约束违规
- 20. Magento 2.1.2中的完整性约束违规错误
- 21. SQLSTATE [23000]:Laravel中的完整性约束违规
- 22. 完整性约束(LEETO14.SYS_C00414504)违反
- 23. Symfony的1.4 embedRelation完整性约束违规
- 24. symfony的:问题“完整性约束违规”与主键
- 25. 学说2链接表的关系 - 完整性约束违规
- 26. 完整性约束违规:1048列的'名称'不能为空
- 27. Laravel多对多的关系:完整性约束违规
- 28. MySQL的ALTER TABLE作成: '完整性约束违规:1452'
- 29. Symfony完整性约束违规:1062重复条目'1'的键
- 30. 使用可空foreighn键的完整性约束违规Laravel