SQLSTATE[23000]: Integrity constraint violation: 1452 Ne peut pas ajouter ou mettre à jour une ligne enfant: une contrainte de clé étrangère échoue

Je suis en train d'insérer des valeurs dans mes commentaires sur la table et je reçois un message d'erreur. Sa en disant que je ne peux pas ajouter ou mettre à jour ligne enfant et je n'ai aucune idée de ce que cela signifie.
Mon schéma ressemble à quelque chose comme ceci:

--
-- Baza danych: `koxu1996_test`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8_bin NOT NULL,
`password` varchar(64) COLLATE utf8_bin NOT NULL,
`password_real` char(32) COLLATE utf8_bin NOT NULL,
`email` varchar(32) COLLATE utf8_bin NOT NULL,
`code` char(8) COLLATE utf8_bin NOT NULL,
`activated` enum('0','1') COLLATE utf8_bin NOT NULL DEFAULT '0',
`activation_key` char(32) COLLATE utf8_bin NOT NULL,
`reset_key` varchar(32) COLLATE utf8_bin NOT NULL,
`name` varchar(32) COLLATE utf8_bin NOT NULL,
`street` varchar(32) COLLATE utf8_bin NOT NULL,
`house_number` varchar(32) COLLATE utf8_bin NOT NULL,
`apartment_number` varchar(32) COLLATE utf8_bin NOT NULL,
`city` varchar(32) COLLATE utf8_bin NOT NULL,
`zip_code` varchar(32) COLLATE utf8_bin NOT NULL,
`phone_number` varchar(16) COLLATE utf8_bin NOT NULL,
`country` int(8) NOT NULL,
`province` int(8) NOT NULL,
`pesel` varchar(32) COLLATE utf8_bin NOT NULL,
`register_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`authorised_time` datetime NOT NULL,
`edit_time` datetime NOT NULL,
`saldo` decimal(9,2) NOT NULL,
`referer_id` int(8) NOT NULL,
`level` int(8) NOT NULL,
PRIMARY KEY (`id`),
KEY `country` (`country`),
KEY `province` (`province`),
KEY `referer_id` (`referer_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=83 ;

et mysql déclaration, je suis en train de faire ressemble à quelque chose comme ceci:

INSERT INTO `user` (`password`, `code`, `activation_key`, `reset_key`, `register_time`,                `edit_time`, `saldo`, `referer_id`, `level`) VALUES (:yp0, :yp1, :yp2, :yp3, NOW(), NOW(), :yp4, :yp5, :yp6). Bound with :yp0='fa1269ea0d8c8723b5734305e48f7d46', :yp1='F154', :yp2='adc53c85bb2982e4b719470d3c247973', :yp3='', :yp4='0', :yp5=0, :yp6=1

l'erreur que je reçois ressemble à ceci:

SQLSTATE[23000]: Integrity constraint violation: 1452 Impossible d'ajouter ou de
mise à jour d'une ligne enfant: une contrainte de clé étrangère échoue
(koxu1996_test.user, CONTRAINTE user_ibfk_1 DE CLÉ ÉTRANGÈRE
(country) RÉFÉRENCES country_type (id) ON DELETE NO ACTION SUR
MISE À JOUR AUCUNE ACTION)

  • Avez-vous regardé tout de la même question/réponses ici, de SORTE avant de poster? Votre message d'erreur indique clairement que le koxu1996_test.country est la valeur que vous(ne sont pas) l'insertion n'est pas une valeur valide de country_type.id.
InformationsquelleAutor andrzej1_1 | 2013-07-15