Не удалось вставить данные, показывающие ограничение внешнего ключа, ошибка 1452 - PullRequest
0 голосов
/ 18 октября 2018

это моя таблица, я пытаюсь вставить данные, но она не позволяет вставить данные в базу данных, это мой запрос на вставку, когда я запускаю этот запрос, показывающий мне такую ​​ошибку

# 1452 - Невозможно добавить или обновить дочерний элементстрока: ограничение внешнего ключа не выполнено (godspeed. dev_phase_type, CONSTRAINT dev_phase_type_ibfk_1 ИНОСТРАННЫЙ КЛЮЧ (phase_id)мой запрос вставки, когда использовать этот запрос данных не вставляет базу данных INSERT INTO dev_phase_type (abr, type) VALUES ('111eeee', 'ee')

--
-- Table structure for table `dev_phase_type`
--

CREATE TABLE `dev_phase_type` (
  `id` int(11) NOT NULL,
  `phase_id` int(11) NOT NULL,
  `abr` varchar(250) NOT NULL,
  `type` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `dev_phase_type`
--

INSERT INTO `dev_phase_type` (`id`, `phase_id`, `abr`, `type`) VALUES
(7, 1, 'F-P', 'Periodized'),
(8, 1, 'F-A', 'Ascending'),
(9, 2, 'G-P', 'Periodized'),
(10, 2, 'G-A', 'Ascending');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `dev_phase_type`
--
ALTER TABLE `dev_phase_type`
  ADD PRIMARY KEY (`id`),
  ADD KEY `phase_id` (`phase_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `dev_phase_type`
--
ALTER TABLE `dev_phase_type`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `dev_phase_type`
--
ALTER TABLE `dev_phase_type`
  ADD CONSTRAINT `dev_phase_type_ibfk_1` FOREIGN KEY (`phase_id`) REFERENCES `dev_phase` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;

1 Ответ

0 голосов
/ 18 октября 2018

Внешний ключ не может быть определен, поскольку в таблицах уже есть данные, которые ему не соответствуют.

В частности, у вас есть значения 1 и 2 в столбце phase_id в таблице dev_phase_type.Эти значения уже существуют в ссылочной таблице dev_phase?

Наверное, нет.Проверьте их и убедитесь, что они имеют смысл, прежде чем добавлять внешний ключ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...