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