ОШИБКА 1452: Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено

Я создал две таблицы в MySQL 5.6.11, как показано ниже, с помощью MySQL Workbench 5.2.47.

country Таблица:

delimiter $

CREATE TABLE `country` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `country_name` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INC

REMENT=2 DEFAULT CHARSET=utf8$

The:state_table

delimiter $

CREATE TABLE `state_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `state_name` varchar(45) DEFAULT NULL,
  `country_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `country_fk` FOREIGN KEY (`id`) REFERENCES `country` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT=''$

Есть один ряд вcountry стол сid 1. Позволяет вставить только одну (дочернюю) строку в дочернюю таблицуstate_table, Если предпринимается больше строк, возникает следующая ошибка.

ОШИБКА 1452: Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено (.social_networkingstate_table, ОГРАНИЧЕНИЕcountry_fk ИНОСТРАННЫЙ КЛЮЧ (id) РЕКОМЕНДАЦИИ (countryid) НА УДАЛЕННОМ КАСКАДЕ НА ОБНОВЛЕНИИ КАСКАДА)

Оператор SQL:

INSERT INTO `social_networking`.`state_table` (`id`, `state_name`, `country_id`) VALUES ('2', 'xxx', '1')

На самом деле я'я пытаюсь отобразить эти таблицы, используя ORM (JPA), где я всегда вижу толькоOneToOne отношения.

Что мне не хватает?

Ответы на вопрос(5)

Ваш ответ на вопрос