веб-програма – Помилка бази даних Помилка: SQLSTATE[23000]: Порушення обмеження цілісності.1 вересня 2016 р
SQLSTATE[23000]: це стандартний код SQL, що вказує на порушення обмеження цілісності. Код «23000» вказує, що це порушення обмеження цілісності, зазвичай вказуючи на повторюваний запис або інший тип порушення цілісності в базі даних.
Щоб вирішити цю проблему, ми можемо отримати де частину запиту колекції та змінити її, як показано в наступному коді:
- $collection = $this->getCollection(); // отримати колекцію основної таблиці.
- $select = $collection->getSelect();
- $where = $select->getPart('де');
- foreach ($where as &$item) {
Налагодження синтаксичних помилок SQL
- Перейдіть до рядка, який не виконується у вашому запиті SQL. …
- Перевірте синтаксис SQL у рядку, який не виконується у вашому запиті SQL.
- Перевірте логіку запиту, якщо запит використовує об’єднання, підзапити або CTE.
- Якщо ви отримуєте повідомлення про помилку, яке не стосується вашого SQL-запиту, перейдіть до розділу Усунення повідомлень про помилки.
Якщо програма викликає SQLDisconnect під час незавершеної транзакції, пов’язаної з дескриптором з’єднання, драйвер повертає SQLSTATE 25000 (Недійсний стан транзакції), що вказує на те, що транзакція не змінена, а з’єднання відкрито.
Помилка Database Error Error: SQLSTATE[23000]: Порушення обмеження цілісності сам по собі означає, що стовпець 's_id' може бути первинним ключем, і через це система не дозволяє йому бути нульовим.