Вставка нарушения ограничения MySQL в родительскую таблицуPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вставка нарушения ограничения MySQL в родительскую таблицу

Сообщение Anonymous »

Я только изучаю PHP/MySQL и столкнулся с этим. Я просмотрел stackoverflow, но не нашел ничего, что помогло бы мне решить проблему.
Я получаю сообщение SQLSTATE[23000]: нарушение ограничения целостности: 1451 Невозможно удалить или обновить родительскую строку: a Ограничение внешнего ключа не выполнено (evifs_aqqbo.aq_customers, CONSTRAINT fk_cust_proj ВНЕШНИЙ КЛЮЧ (project_id) ССЫЛКИ aq_project (project_id) ПРИ УДАЛЕНИИ КАСКАДА) при вставке новой записи в таблицу aq_project.
таблица aq_project:
CREATE TABLE `aq_project` ( `project_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `status` enum('Active','Inactive') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `jobref` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `jobref_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `project_name` varchar(75) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`project_id`,`jobref_code`), UNIQUE KEY `INDX_jobref_code` (`jobref_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
таблица aq_customers:
```CREATE TABLE aq_customers (
customer_id varchar(50) НАБОР СИМВОЛОВ utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
parent_id int DEFAULT NULL,
customer_address_id varchar(50) НАБОР СИМВОЛОВ utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
project_id varchar(50) НАБОР СИМВОЛОВ utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
jobref_code varchar(20) НАБОР СИМВОЛОВ utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ (customer_id,project_id,jobref_code),
CONSTRAINT fk_cust_proj ВНЕШНИЙ КЛЮЧ (project_id) ССЫЛКИ aq_project (project_id) ПРИ УДАЛЕНИИ КАСКАДА,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

aq_customers references aq_project so I don't understand why I can't insert the record in the parent table without throwing this violation. The fk in aq_customers is used to cascade deletion of the project records from aq_customers when a project is deleted from aq_project.

Thank you.


Подробнее здесь: https://stackoverflow.com/questions/792 ... rent-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»