Как решить проблему с ограничениями внешнего ключа? - PullRequest
0 голосов
/ 20 марта 2020
ER_NO_REFERENCED_ROW_2: Cannot add or update a child row: 
a foreign key constraint fails 
(`shahzain`.`branch`, CONSTRAINT `branch_ibfk_1` FOREIGN KEY (`mgr_id`) REFERENCES `employee` (`emp_id`) ON DELETE SET NULL)

Это проблема?

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Сообщение об ошибке совершенно ясно.

Вы пытаетесь вставить строку в branch, которой mgr_id не существует в столбце emp_id таблицы emp. У вас есть ограничение внешнего ключа, которое запрещает это.

Либо добавьте отсутствующего сотрудника в emp, либо присоедините branch к другому менеджеру, который существует в сотруднике.

0 голосов
/ 20 марта 2020

Это обычно означает, что в дизайне вашего кода есть какой-то недостаток. Посмотрите на последовательность вставки / обновления, которые вы делаете.

1.Установите (вставьте или обновите) таблицу сотрудника с новым идентификатором, именем и т. Д. c сотрудника

2. Добавьте строку в таблицу филиалов, указав в ней информацию о банке, к которому сотрудник является менеджером.

INSERT INTO employee (id, name, dept, age, salary) VALUES (105, 'Srinath', 'Aeronautics', 27, 33000)

INSERT INTO branch (id,  mgr_id, name, branchaddress) VALUES (5, 105, 'Michigan Branch', '1000 MainStreet')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...