#1452 Erreur MySQL [Résolu/Fermé]

Signaler
-
Messages postés
5
Date d'inscription
lundi 16 octobre 2017
Statut
Membre
Dernière intervention
25 avril 2019
-
Bonjour j'aurais besoin d'aide concernant une clé étrangère que j'essaye d'insérer dans ma base de donnée.
Avec une table clients et une table abonnements, j'essaye de faire une clé étrangère avec code_client (de la table abonnements) avec id_clients (qui est la clé primaire de la table clients)
Pour faire ma clé étrangère j'utilise la commande suivante :

ALTER TABLE abonnements
ADD INDEX(code_client),
ADD FOREIGN KEY (code_client) REFERENCES clients (id_clients) ;

Le problème, c'est qu'il me met l'erreur suivante :
#1452 - Cannot add or update a child row: a foreign key constraint fails (`btssio`.`#sql-16a8_21b`, CONSTRAINT `#sql-16a8_21b_ibfk_1` FOREIGN KEY (`code_client`) REFERENCES `clients` (`id_clients`))

ça fait des jours que je cherche des solutions mais rien ne fonctionne. je suis débutant dans la matière et c'est un devoir que j'ai à rendre bientôt...
Merci d'avance pour votre aide,
Cordialement.

2 réponses

Messages postés
33146
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 juillet 2021
3 641
Bonjour,

Commence par nous montrer la structure de ta table via un SHOW CREATE ou en en faisant un DUMP que tu nous posteras ici.

Messages postés
5
Date d'inscription
lundi 16 octobre 2017
Statut
Membre
Dernière intervention
25 avril 2019

Bonjour, j'ai réussis sans erreur en utilisant ma clé primaire id au lieu de code_ client je vous envois le DUMB parce que je ne comprends pas pourquoi ça fonctionne avec lui et pas l'autre :

 -- phpMyAdmin SQL Dump

-- version 4.7.4
-- https://www.phpmyadmin.net/
-- Hôte : 127.0.0.1:3306
-- Généré le : lun. 16 oct. 2017 à 07:09
-- Version du serveur : 5.7.19
-- Version de PHP : 5.6.31

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
Messages postés
33146
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 juillet 2021
3 641
Déjà... je ne vois aucun champ dans tes tables qui se nomme "code_client" ....
Messages postés
5
Date d'inscription
lundi 16 octobre 2017
Statut
Membre
Dernière intervention
25 avril 2019

Ah oui en effet je l'ai supprimé tout à l'heure autant pour moi
le code_client était un TINYINT(50).

Mais je pense avoir ciblé le problème quand j'ai peuplé ce champ ils étaient tous en 0 c'est à dire que je pensais que la étrangère allait faire le liens tout seul (je crois au père noël surement xD) on appel ça donnée morte si mes recherches sont exacts est-ce que c'est ça qui aurait pu poser problème ?

Cordialement
Messages postés
33146
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 juillet 2021
3 641 >
Messages postés
5
Date d'inscription
lundi 16 octobre 2017
Statut
Membre
Dernière intervention
25 avril 2019

oui
Messages postés
5
Date d'inscription
lundi 16 octobre 2017
Statut
Membre
Dernière intervention
25 avril 2019

D'accord merci beaucoup !